我写了个C程序,假设为A.c,并且在执行的过程中,该程序会生成一个文件,假设为B.c,其中动态生成了某些函数,那么,我如何在A.c中执行B.c中的代码呢?当然,B.c中的函数名是确定好的。
wwwsq 发表于 2012-05-24 11:01
在A.c中调用gcc把B.c编译成B.so,然后在A.c里面dlopen("B.so")、dlsym之类的,就可以调用B.c里面的函数了。 ...
wwwsq 发表于 2012-05-29 01:01
gcc貌似也支持预编译了。
http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
shecx 发表于 2012-05-24 10:57
呵,麻烦说的详细一点,我的确有些不明白你的意思。
不过我再说明一下我的意图:我的目的就是在A.c中能动态生成B.c,并且希望在A.c中能执行B.c中的代码。
因此,我在我的A.c文件中加入动态生成B.c的代码,并且,我在A.c文件中也加入执行B.c代码中的函数的代码。但关键问题是,当我编译链接A.c时,就出错了,原因是链接A.c时,找不到B.c中的代码来链接,因为B.c是靠A.c生成的,而此时A.c未执行当然就未生成了。
这就是我的问题所在。。。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |