共享代码需要自己的头文件
如果想在多个程序之间共享encrypt.c代码,需要想办法让这些程序知道它,为此你可以用头文件。
在程序中包含encrypt.h
在这里使用头文件不是为了能够调整函数之间的顺序,而是为了让其他程序知道encrypt()
函数:
主程序有encrypt.h,这表示编译器知道encrypt()
函数,这样才能编译代码。在链接阶段,编译器会把message_hider.c中的encrypt(msg)
调用连接到encrypt.c中的encrypt()
函数。
最后,为了把所有东西编译到一起,只需把源文件传给gcc
:
gcc message_hider.c encrypt.c -o message_hider
共享变量
你已经知道如何在不同的文件之间共享函数,但如果你想共享变量呢?为了防止两个源文件中的同名变量相互干扰,变量的作用域仅限于某个文件内。如果你想共享变量,就应该在头文件中声明,并在变量名前加上
extern
关键字:
- extern int passcode;
试驾
看看你编译message_hider
程序时会发生什么:
程序正确运行了。只要把encrypt()
函数放在一个单独的文件中,就可以在任何程序中使用它了。假如你想修改encrypt()
函数,把它变得更安全,只要修改encrypt.c文件就行了。
要点
为了共享代码,可以把代码放到一个单独的C文件中。
需要把函数声明放到一个单独的.h头文件中。
在所有需要使用共享代码的C文件中包含这个头文件。
在编译的命令中列出所有C文件。
滑野雪
赶快用
encrypt()
写一个程序吧。别忘了,encrypt()
还可以用来解密喔。