當前位置:首頁 » 編程語言 » c語言引用外部c文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言引用外部c文件

發布時間: 2022-09-02 22:48:36

c語言如何使用其他源文件

有兩種方法:
1。在A2.c中有完整的函數定義,在A1.c中添加一下要用到的函數原型(聲明)就可以了,例如:
在A2.c中:有函數void A2(){...};
在A1.c中:在文件前頭增加一行:void A2();就可以了
2。把A2.c中完整定義的函數的原型,寫到一個A2.h文件中,然後在A1.c的文件頭增加#include "A2.h"就可以了
以上兩種方法,在A1.c中都可以正常的調用,就跟在A2.c中調用一樣。
其實函數默認是外部的,只要在其他文件中聲明就能使用; 但是注意如果在前面加上static , 就只能在本文件中使用了, 不能再被其他的文件調用。

② 如何在C#工程中調用C語言外部庫

首先C語言的外部庫要按照介面標准,將介面留出來,參考網址如下:

VS2010創建並使用動態鏈接庫網頁鏈接

C語言dll文件的說明以及生成、使用方法網頁鏈接

製作C/C++動態鏈接庫(dll)若干注意事項網頁鏈接

如果只有DLL而沒有源代碼,不能自己編譯的話,需要查詢DLL的介面是什麼樣子的,可以使用下面的工具去查詢:

DLL分析的非常好用的工具(Dependency Walker 2.2)網頁鏈接

Dependency Walker使用說明網頁鏈接

接下來,就可以在C#中進行C語言DLL的調用了,主要使用System.Runtime.InteropServices下的DllImport,參考網址如下:

C#直接使用DllImport外部Dll的方法網頁鏈接

從託管應用程序調用非託管代碼網頁鏈接

另外特別要說明的是,如果你的C語言的DLL裡面使用了指針操作,雖然可以使用ref的方式接收傳入的數據(參考網址網頁鏈接),但是我非常非常非常推薦你使用unsafe的方式去處理指針操作(參考網址網頁鏈接),因為1、如果你的C語言DLL裡面有內存操作錯誤,C#也沒法去修復,2、使用unsafe的指針操作會比使用託管的ref操作效率高很多(當對效率要求非常高的時候)。

PS:網上資料很多,我列出來的資料也是現查的,你可以根據我寫的內容,在網上自行搜索,尋找適合自己的資料。

③ 怎麼調用外部C語言文件

解決什麼了,你現在代碼的問題還很多。
file1.c中的內容:
#include<file2.c>//這樣你以後寫程序還會出錯。要建個h頭文件,把函數聲明放到裡面就行。
int
A;
main()//沒類型可以運行嗎。用void
main
{
int
power(int);//這個聲明放到頭文件里
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);//你輸入的不是A,是a.。。。
c=A*b;//c的值是0
printf("%d*%d=%d\n",A,b,c);//由於A是全局變數,值默認為0。
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的內容:
extern
A;//類型要帶上,extern
int
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}
file1.c中的內容:
#include<file2.c>
int
A;
main()
{
int
power(int);
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);
c=A*b;
printf("%d*%d=%d\n",A,b,c);
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的內容:
extern
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}

④ C語言中如何用一個程序調用另一個程序,兩個程序都是.c文件。

你把被調用的.c文件中的main()函數改成其他名字 如fun();
然後在另一個.c文件的main()函數中調用fun();
只要保證一個C工程只有一個main()做入口點就行了,至於保留哪個main函數,那就要看你程序的邏輯了,注意main函數是入口點的概念

⑤ C語言中如何引用其它C源文件中的函數

在源文件A1.c中調用A2.c 中的函數有兩種方法:

1、在A2.c中有完整的函數定義,在A1.c中添加一下要用到的函數原型(聲明)就可以了,例如:

在A2.c中:有函數void A2(){...};。

在A1.c中:在文件前頭增加一行:void A2();就可以了。

2、把A2.c中完整定義的函數的原型,寫到一個A2.h文件中,然後在A1.c的文件頭增加#include "A2.h"就可以了。

以上兩種方法,在A1.c中都可以正常的調用,就跟在A2.c中調用一樣。

其實函數默認是外部的,只要在其他文件中聲明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件調用。

(5)c語言引用外部c文件擴展閱讀:

1、一個.h文件要 對應有一個.c文件,這樣鏈接器就可以調用這個文件里的函數。比如a.h 和 a.c。

2、把相應的函數定義寫在.c文件中。這里要強調一點:要加上#include ".h",這個一般作為一種工程規范。因為如果.c文件中的函數也需要調用同個.c中的其它函數,那麼這個.c往往會include對應的.h。比如頭文件里進行了變數的聲明,這個時候對應的.c文件是一定要加上這個頭文件的。

3、再在其他的main.c文件開頭添加#include "a.h"。

⑥ C語言如何使用外部文件中的函數

1.
請使用預編譯指令
#include。加入外部文件,就可以使用外部文件的函數了。
#include放在代碼文件頭,用於告訴編譯器,文件中包含的頭文件,屬於預處理文件的一部分

語法為:
#include
<iostream.h>
(這句是程序編譯時搜索系統目錄文件)
#include
「HName.h"
(這句是程序編譯時搜索當前項目的文件)
2.
例如:
//函數實現 a.c文件:
int add(int x, int y){
return x+y;
}
//主文件 main.c文件:
#include <stdio.h>
#include "a.c" //引入外部函數
int main(){
int i;
i = add(1,2);
printf("%d",i);
return 0;
}

⑦ C語言中,是否可以調用其它文件的函數

可以調用。

一、從一個源文件里調用另一個源文件的函數。在源文件A1.c中調用A2.c 中的函數有兩種方法:

1、在A2.c中有完整的函數定義,在A1.c中添加一下要用到的函數原型(聲明)就可以了,例如:

在A2.c中:有函數void A2(){...};。

在A1.c中:在文件前頭增加一行:void A2();就可以了。

2、把A2.c中完整定義的函數的原型,寫到一個A2.h文件中,然後在A1.c的文件頭增加#include "A2.h"就可以了。

以上兩種方法,在A1.c中都可以正常的調用,就跟在A2.c中調用一樣。

其實函數默認是外部的,只要在其他文件中聲明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件調用。

二、編寫頭文件:

1、一個.h文件要 對應有一個.c文件,這樣鏈接器就可以調用這個文件里的函數。比如a.h 和 a.c。

在.h文件中:

#ifndef __A_H_

#define __A_H_

#include<stdio.h>

void trans2(double B) ;

double trans1() ;

#endif

2、把相應的函數定義寫在.c文件中。這里要強調一點:要加上#include ".h",這個一般作為一種工程規范。因為如果.c文件中的函數也需要調用同個.c中的其它函數,那麼這個.

c往往會include對應的.h,這樣就不需要為聲明和調用順序而發愁了。比如頭文件里進行了變數的聲明,這個時候對應的.c文件是一定要加上這個頭文件的。

3、再在其他的main.c文件開頭添加#include "a.h"。

(7)c語言引用外部c文件擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include<math.h>//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。

⑧ c語言如何 調用外部程序

調用外部程序介面

方法1.

Process p=Runtime.getRuntime.exec("cmd")(最常用)

方法2.

Process p=new ProcessBuilder(cmd).start()

但是一般方法一比較常用, 下面我們介紹下方法一中關於抽象Process類的常用函數

  • //向對應程序中輸入數據

  • ();

  • //獲得對應程序的輸出流(沒寫錯)

  • ();

  • //獲得程序的錯誤提示

  • ();

  • //等待程序執行完成,返回0正常,返回非0失敗

  • abstractpublicintwaitFor()throwsInterruptedException;

  • //獲得程序退出值,0正常退出,非0則異常

  • abstractpublicintexitValue();

  • //銷毀進程

  • abstractpublicvoiddestroy();

  • 其中前3個函數用的最多