当前位置: 技术问答>linux和unix
怎样编译可加载模块?
来源: 互联网 发布时间:2015-01-18
本文导语: 给出具体步骤. 成功就给分. | gcc -c -Wall | 直接用cc -c *.c编译,它就会生成一个*.o文件 调用里面的函数的时候,只需要在编译程序时带上该*.o文件就可以了 比如,uiFunc()函...
给出具体步骤.
成功就给分.
成功就给分.
|
gcc -c -Wall
|
直接用cc -c *.c编译,它就会生成一个*.o文件
调用里面的函数的时候,只需要在编译程序时带上该*.o文件就可以了
比如,uiFunc()函数在文件 func.c中定义,func.c中没有main()函数,那么要在main.c文件的main()函数中调用uiFunc()函数,编译如下
cc -c func.c
cc -c main.c
cc -o main func.o main.o
应改就可以达到使用func.c模块的目的了
调用里面的函数的时候,只需要在编译程序时带上该*.o文件就可以了
比如,uiFunc()函数在文件 func.c中定义,func.c中没有main()函数,那么要在main.c文件的main()函数中调用uiFunc()函数,编译如下
cc -c func.c
cc -c main.c
cc -o main func.o main.o
应改就可以达到使用func.c模块的目的了
|
动态库的编译和调用在各种UNIX下没有统一的标准
据我所知IBM aix,sco unix,sun unix,linux,digit unix等等
生成动态库的思想虽然相似但命令各有不同
要是能确定由哪个系统也许会有人给个详细答案。
不过动态库是一把双刃剑
我上次险些砍到自己
关键的应用可要小心啊
good luck!
据我所知IBM aix,sco unix,sun unix,linux,digit unix等等
生成动态库的思想虽然相似但命令各有不同
要是能确定由哪个系统也许会有人给个详细答案。
不过动态库是一把双刃剑
我上次险些砍到自己
关键的应用可要小心啊
good luck!