linux平臺下C語言呼叫C庫問題

2023-01-12 14:20:07 字數 3939 閱讀 2420

1樓:網友

1:你平時在linux下程式設計使用的read,write都是庫函式;

2:程式設計的過程可以是:呼叫庫函式,庫函式再去呼叫系統函式;也可以是直接呼叫系統函式,而這些系統函式是linux核心定義的一些巨集定義而已。兩種方法都是可以的。

2樓:

read,write不是glibc庫,但屬於posix標準,他們也不是系統呼叫,他們都呼叫核心中的系統呼叫。

另外__syscalln()最新的linux核心好像已經廢棄他了,因為有問題記憶也太麻煩。

另外建議你,不要看這部書。看unix環境高階程式設計。

3樓:

c語言裡面你不包含標頭檔案直接呼叫函式也是可以的,只是會報warning而已。

linux c語言下引用其他檔案的函式問題

4樓:匿名使用者

假如你不把編譯進去的話就需要通過extern 來申明,你編譯進去的話編譯器就將這兩個c檔案都連線在一起了。而且gcc -o 其中就包括了預定義,編譯 ,彙編,連結過程了,也就是說你想在一個c語言的檔案中運用其他的c檔案的函式有兩種方式:1 將你涉及到的c檔案一起編譯進去。但是這裡面只能有一個c檔案中有main函式。

2. 假如不想將其他的c檔案編譯進去的話,那就像你說的把c檔案的函式通過extern進行申明就可以了。

5樓:匿名使用者

呼叫其他檔案定義的函式的步驟如下。

先在在中宣告函式。

在檔案中定義該函式fun()

在需呼叫fun的檔案前面引用 #include直接呼叫func()

例如:#include

void fun();

void fun()

在需要呼叫fun()的檔案中。

#include""

int main()

6樓:

嚴格的做法是要先宣告後使用,如果不宣告編譯器會產生預設的無引數宣告。如果實際上函式有引數就會編譯錯誤。

7樓:匿名使用者

宣告放在標頭檔案裡。把標頭檔案include進來。

有關在linux下執行c語言的問題。。。

8樓:蛡編剴疾

先把c環境複製過去,然後安裝gcc,用gcc編譯器編譯就行gcc的基本用法和選項 在使用gcc編譯器的時候,我們必須給出一系列必要的呼叫引數和檔名稱。gcc編譯器的呼叫引數大約有100多個,其中多數引數我們可能根本就用不到,這裡只介紹其中最基本、最常用的引數。 gcc最基本的用法是∶gcc [options] [filenames] 其中options就是編譯器所需要的引數,filenames給出相關的檔名稱。

-c,只編譯,不連線成為可執行檔案,編譯器只是由輸入的。c等源**檔案生成。o為字尾的目標檔案,通常用於編譯不包含主程式的子程式檔案。

-o output_filename,確定輸出檔案的名稱為output_filename,同時這個名稱不能和原始檔同名。如果不給出這個選項,gcc就給出預設的可執行檔案。

有關在linux下執行c語言的問題。。。

qt中能不能呼叫c語言的api。linux下的

9樓:匿名使用者

可以呼叫哈。

一般用的比較少了,因為qt在系統函式的基礎上又封裝了一次。

unix環境高階程式裡講的一般用於系統程式設計。

10樓:匿名使用者

qt是跨平臺的,看你要在哪個平臺上面用,一般如果在linux類似平臺上是可以使用的。

11樓:明天未來

qt如果是c++版就能夠呼叫c語言的函式,只要你用了相應的庫包函。你說呼叫fork, waitpid, exec, thread_create, socket, connect, accept這些函式不知道每個函式的意思是什麼。但是,在qt裡這些函式應該在qt裡已經都有了的,至少我看到你說的exec,socket,connect,accept這些函式我都用了的,但是不知道你說的fork,waitpid,thread_create是什麼函式,thread_create如果是建立執行緒的話,在qt裡建立執行緒更簡單。

qt裡面很少用到c的基本函式,因為qt的功能本身就比較強大,但是qt不是程序導向的整合開發環境,它是物件導向的,如果你只學了c的話,最好再學學c++吧。只有學了c++才能更好的學,不然你學起來非常痛苦,相反如果學了c++就輕鬆得多,至少比vc++更輕鬆。

12樓:匿名使用者

當然能。qt在linux裡的實現就是靠的這些啊。linux c都能在qt中用呢。

linux下的c語言和unix下的c語言程式設計有區別嗎?

13樓:匿名使用者

c語言是可移植的,也就是用c的庫函式程式設計。

帶著環境的像linux下的c,unix下的c是呼叫系統提供的系統呼叫,linux和unix差別很小,但是不同產品之間會有不同的。現在有一個標準就是為了結決unix的可移植性,posix。

linux終端下如何進行c語言編譯

14樓:海里的月光

1、首先在linux下判斷是否安裝gcc編譯器,直接執行:gcc -v,判斷是否安裝gcc。

2、然後需要在**框內寫一個簡單的c源程式。

3、在程式中使用了c語言中的數學開方函式,sqrt(),所以需要引入標頭檔案。

4、寫完源程式之後,我們對其進行編譯,如果使用通常的編譯語句,【gcc -o math】進行編譯,會出現錯誤;大概的意思就是不認識sqrt這個東西。

5、所以需要使用正確的命令:【gcc -lm -o math】;這樣才能編譯正確。

15樓:網友

1、進入linux系統,建立c檔案「vim 同時進入vim介面,也可以利用指令「touch 建立後,然後「vim 進入vim介面。

2、vim介面,由「esc」建來切換三種模式,一般模式:在linux終端中輸入「vim 檔名」就進入了一般模式,但不能輸入文字。模式:

在一般模式下按i就會進入模式,此時就可以寫程式,按esc可回到一般模式。

3、通過輸入底部指令「:set nu」顯示行數。

4、輸入完c**後,記得「esc」鍵切換,輸入「:wq」儲存退出。

5、指令「ls」顯示當前目錄下檔案,我們可以見到存在的c檔案編譯「gcc -o test ,編譯成功後,執行「./test」。

16樓:匿名使用者

linux終端下,編譯c語言程式步驟為:

採用vi進行源**編寫,編寫完成後,:wq存檔退出,如:

vi 在命令列下,執行gcc編譯程式,生成執行碼,如:

gcc -o test

-o 表示指明生成的執行碼名稱。

執行編譯後的執行碼。

./test

17樓:匿名使用者

gcc hui 生成可執行檔案 (這邊用大寫區分來比較容易理解)然後再執行這個檔案就可以了。

18樓:匿名使用者

使用gcc編譯器啊。。直接gcc -o 《要輸出的名字》 《你的**的名字》然後 ./輸出的名字 就可以執行了。

linux下的c語言和windows下有什麼區別?哪些庫檔案需要注意

19樓:匿名使用者

沒有多少區別 要不怎麼叫c標 標準就是為了跨平臺 c標準最終還是通過呼叫系統的api(應用程式程式設計介面實現的),所以不同平臺c標準的底層實現是不同的,只要不用系統api,要想讓他在不同的平臺執行,重新編譯即可,當有些編譯器對c標準支援的不是很好,所以有些換個重新編譯器編譯就會報錯 所以windows下用dev c++ linux 建議用gcc

如何在c語言程式設計中呼叫linux系統終端下的命令

c類庫怎麼用,C中怎麼呼叫自己的類庫

你要先引入你寫的類庫啊,如,你的類庫叫dbclass,那你就應該先using dbclass引入,引入之後,再class1 a new class1 class1就會變藍的 c 中怎麼呼叫自己的類庫 部署dll流程 首先把dll檔案放到應用程式.bin debug 下 1先把類庫編繹成dll 2然後...

C語言函式呼叫引數傳遞的是什麼,在C語言裡向函式傳遞的是「引數」是什麼意思

c語言傳遞的是值而不是地址,這一點從vb轉過來的程式設計師一定要注意。否則不經版 意間就會犯權錯誤。另外下層函式修改上層函式變數不是一種好習慣,容易引發錯誤。c語言中函式可以返回一個函式值,如果你需要返回多個函式值可以用下面的形式 fun int a,int b main 如果按vb的習慣,fun ...

c語言呼叫函式輸出fibonacci數列的m項至n項我

n 1 n 2的 時候才會給前兩項賦值?請仔細思考一下初始條件.貼一個我的fib int 函式專.int fib int n return b q item1 item1 item2 括號裡的去掉 c語言 採用遞迴呼叫函式方法計算fibonacci數列的前20項 include include lo...