調用其他編譯的函數
調用函數庫的話用#include<XXX.h>或者#include"XXX.h"區別是你庫文件放在同一個文件夾還是在IDE的安裝目錄下面,如果你庫文件在你工程文件夾裡面用#include<XXX.h>,否則用#include"XXX.h"
如果你說自己寫庫的話是需要兩個宏命令,#ifndef_XXX_H#define_XXX_H,然後你函數名用extern表示
如果你說編譯的話,你應該說的是編譯原理吧,你可以反匯編一下一個編譯好的程序,如果該處編譯了一個其他函數庫的函數,你可以看到程序把參數PUSH到內存後CALL或者LCALL了一個這個函數的地址,這就完成了匯編中調用函數的部分,我記得X86裡面CALL的機器碼是E8H吧,有興趣的話可以自己用反匯編看一下
這個CALL的話就是調用函數的功能
『貳』 c語言中如何在一個函數中調用在另個文件中定義的函數
你需要包含到頭文件,比如那個文件在d盤根目錄,就這樣寫:
#include<d:\\1.c>
然後下面就可以調用1.c裡面的函數了
-物聯網校企聯盟技術部
『叄』 g++ 的編譯問題,調用其他編譯單元的預設參數的函數
填空:1. 在基類和派生類中,派生類可以定義其基類中不具備的數據和操作。對兩個有相同名字的數據成員進行訪問時,如果沒有 作用域分隔符限定時 ,對此數據成員的訪問將出現歧義。2. 拷貝構造函數使用 引用 作為參數初始化創建中的對象。3. 在公有繼承的情況下,基類數據成員在派生類中的訪問許可權 保持不變 。4. 描述命題"A小於B或小於C"的表達式為 A<B||A<C。5. 用new申請某一個類的動態對象數組時,在該類中必須能夠匹配到 沒有形參的或預設參數 構造函數,否則應用程序會產生一個編譯錯誤。6. 靜態數據成員在類外進行初始化,且靜態數據成員的一個拷貝被類的所有對象 共享 。7. 為了避免可能出現的歧義,C++對if…else語句配對規則規定為:else總是與 與最近的if 配對。8. 設"int a=3,b=4,c=5;",表達式"(a+b)>c&&b==c"的值是 0 。9. 在C++中,定義重載函數時,應至少使重載函數的參數個數或參數類型 不同 ;在基類和派生類中,成員函數的覆蓋是指 派生類成員函數與在基類被覆蓋的成員函數名、參數個數、參數類型和返回值類型均相同 。10. 構造函數與析構函數除功能不同外,在定義形式上,它們的區別還包括構造函數名與類名相同,而析構函數名是在類名前加一個~、 析構函數沒有參數 、 析構函數可以定義為虛函數 。11. 動態聯編要滿足兩個條件,它們是 被調用的成員函數是虛函數 、 用指針或引用調用虛函數 。12. 在C++類中,有一種不能定義對象的類,這樣的類只能被繼承,稱之為 抽象類 ,定義該類至少具有一個 純虛函數 。13. 在C++類中,const關鍵字可以修飾對象和成員函數,const對象不能 被修改 ,const成員函數不能 修改類數據成員 。14. C++中沒有字元串類型,字元串是通過 字元數組 來表示的,每一個字元串都有一個結尾字元 \0 。15. C++中沒有輸入輸出語句,輸入輸出是通過 輸入輸出庫 實現的, 寫出一條列印整型變數n的輸出語句:cout<<n;