一種方式 是 通過(guò) 環(huán)境變量 INCLUDE, PATH, LIB 里的設(shè)置,編譯器 會(huì)到 那里去找。用雙引號(hào)括起的方法 寫 包含 文件名字 可以 帶 詳細(xì)的 路徑。
創(chuàng)新互聯(lián)是一家專業(yè)提供利州企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為利州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
在一個(gè)文件里面的函數(shù),如果要調(diào)用其他文件里的函數(shù)的話,你肯定要先include一下函數(shù)所在的文件,比如在a.c里面想調(diào)用b.c里面的函數(shù),你在a.c里面要加上#include b.c才行。
我們想要在另外一個(gè)文件,也就是main.c 中調(diào)用這個(gè)函數(shù)的時(shí)候,只需要包含它對(duì)應(yīng)的頭文件,就可以直接調(diào)用了。
從描述來(lái)看是可以的。你的函數(shù)有沒(méi)有用static修飾?或者把編譯的錯(cuò)誤提示拿出來(lái)看看。
在調(diào)用函數(shù)之前,編譯器需要知道調(diào)用的規(guī)則,即調(diào)用的參數(shù)、參數(shù)個(gè)數(shù)、返回值,以一個(gè)文件為單位。
不能。C語(yǔ)言中的static函數(shù):內(nèi)部函數(shù)和外部函數(shù) 函數(shù)一旦定義后就可被其它函數(shù)調(diào)用。但當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí),在一個(gè)源文件中定義的函數(shù)能否被其它源文件中的函數(shù)調(diào)用呢。
static修飾一個(gè)函數(shù),則這個(gè)函數(shù)的只能在本文件中調(diào)用,不能被其他文件調(diào)用。Static修飾的局部變量存放在全局?jǐn)?shù)據(jù)區(qū)的靜態(tài)變量區(qū)。C++的static用法:面向過(guò)程程序設(shè)計(jì)中的static和面向?qū)ο蟪绦蛟O(shè)計(jì)中的static。
其實(shí)函數(shù)默認(rèn)是外部的,只要在其他文件中聲明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件調(diào)用。
c寫法示例:static int a;extern int get_a() { return a; } extern void set_a(int v) { a=v; } 這樣,在c里就可以調(diào)用get_a()和set_a(int v)函數(shù)來(lái)讀寫變量a了。
普通全局變量\普通函數(shù)相比,它的優(yōu)勢(shì)在于:①存儲(chǔ)類、生命周期、作用域都一樣;②差別在于static修飾全局變量\函數(shù)連接屬性是內(nèi)連接,普通全局變量\普通函數(shù)是外鏈接;③就是說(shuō)static修飾全局變量\函數(shù)不能跨文件訪問(wèn)調(diào)用。
1、所以在testc里面只是引用包含app_fifo.h這個(gè)頭文件的話,因?yàn)楹瘮?shù)app_fifo_put沒(méi)有被定義,后來(lái)執(zhí)行這個(gè)函數(shù)時(shí)就會(huì)報(bào)錯(cuò) undefined symbol app_fifo_put(未定義符號(hào)app_fifo_put)。
2、函數(shù)定義在 文件r.c 里。編譯時(shí) 2個(gè)c文件要 一起編,或 把 r.c 先編譯成 r.obj, 鏈接時(shí) 鏈接進(jìn)去。
3、我用vc2010測(cè)試了你的代碼,沒(méi)有連接問(wèn)題,完全正確。但是,如果從工程中,將ds3_seqStackcpp移除,再Build,將得到和你一樣的鏈接錯(cuò)誤。因此,猜測(cè)你是沒(méi)有將ds3_seqStackcpp加入工程。
4、從描述來(lái)看是可以的。你的函數(shù)有沒(méi)有用static修飾?或者把編譯的錯(cuò)誤提示拿出來(lái)看看。
5、因?yàn)榍短捉Y(jié)構(gòu)就是c語(yǔ)言中容易出錯(cuò)的部分。C語(yǔ)言中程序常見(jiàn)有三種嵌套結(jié)構(gòu),即選擇結(jié)構(gòu)嵌套、循環(huán)結(jié)構(gòu)嵌套、函數(shù)調(diào)用嵌套,筆者通過(guò)對(duì)以上結(jié)構(gòu)教學(xué)分析,告知讀者在使用的過(guò)程中三者的需要注意之處,對(duì)提高C語(yǔ)言學(xué)習(xí)效率很有好處。
6、)函數(shù),如果用vc編譯,那么就是用的windows環(huán)境下的32位編程,所以就應(yīng)該加入windows.h這個(gè)頭文件,告訴vc編譯器這個(gè)名字空間,錯(cuò)誤提示是由于你的sleep()函數(shù)中s要大寫,改成大寫就能編譯通過(guò)了。希望對(duì)你有所幫助。