文件编译成单
1. 多个.c文件能编译成单个.so文件吗
可以的
一般是把多个.c文件 先分别编译成.o文件
然后再把.o文件打包成.so
也可以直接编译打包,一步完成。
命令如下
gcc SOURCE_FILES -fPIC -shared -o TARGET
SOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件
TARGET为so文件。
比如
gcc a.c b.c c.c d.c -fPIC -shared -o libabcd.so
2. 被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去. 对吗
不知道你是说那种语言,如果是C/C++的话,一般我们使用#include指令包含头文件(当然,头文件也是可以有实现),编译器首先通过预编译,将所有使用#include的地方全部使用包含的文件替换,然后在执行编译,所以被包含不会生成单独的目标文件
生成单独的目标文件一般是头文件的实现文件,头文件的实现就是先编译成单独的目标文件,然后通过链接器连接到一起,成为一个完整的可执行文件
3. 怎样用pycharm 把.py文件编译成可以单独运行的exe文件
解释器文件和解释器
先解释两个概念;解释器文件和解释器。
l 解释器文件:一种文本文件,开头通常是:#! pathname [option-argument];比较常见的是#! /bin/bash,shell脚本和python脚本都属于解释器文件。
l 解释器:解释器文件第一行中pathname指定的程序,如bash。
3.1 解释器文件的执行
当执行(exec)"解释器"文件时,exec系统调用会识别这种文件,内核使调用exec函数的进程实际执行的并不是该"解释器文件",而是pathname指定的解释器。
我们可以自己写一个解释器,如之前所写的foo.c:
l foo.c
#include <stdio.h>
int
main(int argc,char* argv[])
{
4. VisualStudio2019如何编译程序为单文件
你是用C#写的么,如果是的话目前做不到,运行时需要.net运行库支持,只需要一个exe就能用的,需要将代码编译为本地机器码才行(只有.net native才提供的本地编译,但那个是用在应用商店里的),另外,虽然有Salamander .NET Linker 这类第三方软件,但是问题很多。
如果你一定要这个需求的话并且项目不大的话,只能建议重写,常用的本地编译环境比如vb(注意是vb6,不是vs里的vb.net)、delphi和vc++,要简单的话用vb6好了。
5. vs2010的VB编写一个WINDOWS窗口应用程序如何编译成单独的一个EXE文件
是裂唯备想找EXE文件还是想编译成机器码。如果想找EXE文件,项目目录的Bin子肆毁目录有,如果你的程序没有引用到什么类库或没有什么配置文件的话,就可以直接把EXE文件拷出来,这个EXE可以在装有.net framework的电脑上运行。.net framework程序想编译成机器码是不可能的,所有的.net framework程序都会被编译成MSIL,山饥然后由.net framework运行库解释运行。
6. cmake编译单/多文件
在该路径下会生成一个文件夹(CMakeFiles),三个文件(Makefile, CMakeCache.txt, cmake_install.cmake)以及一个程序(addition)
此时的文件目录结构为
该项目该依赖于MPI,GDAL和cereal库。MPI和GDAL库自行编译
1.配置各种编译的时候,可以使用set设置,更多详情,请自行搜索。
2.头文件的包含请使用include_directories。
3.搜索源文件请使用aux_source_directory。
4.第三方库的查找使用 find_package。例如我们想找GDAL, 那么 find_package(GDAL), 它会在 /usr/share/cmake/Moles 文件中的FindGDAL.cmake文件中去找GDAL的各种信息。前提是GDAL 是make install的, FindGDAL.cmake中才会有GDAL的各种信息。否则的话,我们需要set自行制定GDAL的相关信息。
5.第三方库的链接用target_link_libraries。
注意,也可以将该项目中的某个文件夹编译成静态库,然后在于其余源文件链接,可以参考: https://blog.csdn.net/cliukai/article/details/90670243
简单的多文件编译: https://blog.csdn.net/cliukai/article/details/90670243
有第三方库的文件编译: https://blog.csdn.net/fb_help/article/details/79593037