
正文
c语言中文件连接函数 c语言连接符的使用方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言 怎么写头文件 连接函数库 注意:要求函数实现不要写到头文件里
printf 在动态链接库里。
你若要模仿printf 则要学建 动态链接库c语言中文件连接函数,产生出 .lib 和 .dllc语言中文件连接函数,有点麻烦
( gcc 是 不是 叫 .a 还是什么c语言中文件连接函数?)。
简单办法是 直接链接 .obj
对于 hello.c, 只编译,不链接。 产生 .obj (或 .o)c语言中文件连接函数: gcc hello.c -c ( -c 或 /c ?)
main.c 里,m.h 在当前文件夹,(或某文件夹),不用 尖括号(尖括号表示系统c语言中文件连接函数的INCLUDE):
#include "m.h"
main()
{hello();}
gcc main.c hello.o
给别人用时,只要给 hello.obj 和 头文件, 不需要源程序。
相关问答
Q1: C语言两个文件连接问题
你这的问题很多啊。
1.首先是你的MN的定义问题。你想用宏定义(#define)然后外部extern修饰来使用就是错误的。这里涉及到宏定义的作用域。代码到可执行程序分“编译”(把代码按文件单独翻译成机器语言然后命名为*.obj)和“链接”(把所有obj文件链接到一起成为.exe)。而宏定义是在编译之前作用的,它完成的仅仅是替换调用的地方,叫做预编译阶段,仅仅是代码的替换(跟你敲代码是一个效果),所以不直接包含,是不会起到任何作用的。
2.函数,变量的声明定义的参数(MN)下标必须是常量。(因为他们需要在编译阶段被确定名称,链接直接使用了)所以必须编译阶段知道下标是什么,要解决只有共用头文件,一起包含把常量直接包含到两个文件中。(用宏或初始化的const变量都可以,宏的话使用时无类型检测)
3.一个小问题,“文件一”中scanf_score声明前没有给出MN的定义或声明,按你的想法“文件1”
中是定义所以那个宏应放到函数前(但最终需要放到共用的头文件中)
4.“文件2”中scanf_score,”文件1“的studen_aver,声明下标必须指定(同2)这里需要编译最终名称,必须是确定的格式。再者,你的a[M][N]函数参数和函数内参数定义重复。
问题就这些了,关于extern,你可以百 科“”。那里很详细。还有就是你的外部函数应用的声明,最好,不要放到函数内。
Q2: C语言基础-unlink函数的使用
注意:
执行unlink()函数并不一定会真正的删除文件,它先会检查文件系统中此文件的连接数是否为
1,如果不是1说明此文件还有其他链接对象,因此只对此文件的连接数进行减1操作。若连接数为1,并且在此时没有任何进程打开该文件,此内容才会真正地被删除掉。在有进程打开此文件的情况下,则暂时不会删除,直到所有打开该文件的进程都结束时文件就会被删除。
从结果可以得出,在文件打开的情况下unlink()并不会立即删除,并且对文件依然可以进行读写操作,在进程结束之后文件就会被删除掉!
c语言中文件连接函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言连接符的使用方法、c语言中文件连接函数的信息别忘了在本站进行查找喔。






