我有crt284utest.c和crt_284u.so文件。在crt284utest.c文件中,我使用了dlopen(),dlclose(),dlsym()。现在我尝试使用以下命令进行编译: gcc c -O crt284utest.c 编译上述命令时,错误如下: gcc.real:c:没有这样的文件或目录 然后 gcc crt_284u.o -ldl -o crt284utest 编译上述命令时,错误如下: gcc.real:crt_284u.o:没有这样的文件或目录
答案 0 :(得分:2)
这里介绍如何使用gcc ::
在linux中编译$ gcc -o firstprogram firstprogram.c
如果您的文件名为firstprogram.c,则输入'-o firstprogram'作为gcc的参数。这基本上是gcc创建的可执行文件的建议名称。如果您输入类似以下内容
$ gcc firstprogram.c
您将在与源C文件相同的目录中拥有a.out。这是gcc创建的可执行文件的默认名称。当您在一个目录中编译许多程序时,这会产生问题。因此,您使用-o选项后跟可执行文件的名称
来覆盖它$ gcc -o hello secondprogram.c
将为名为secondprogram.c
的源代码创建一个名为hello的可执行文件运行您创建的可执行文件就像在提示符下键入以下内容一样简单。
$ ./firstprogram 要么 $ ./hello