C语言编译dll
怎么把一个C语言文件编译为dll 网上一搜一大把https://7dapi7.smartapps.baidu.com/pages/article/article?eid=e8cdb32bf36a3637052bad26&scene=10810087&from=&_swebfr=1&_swebFromHost=mibrowser 对于gcc来说,这很容易
只需要添加 -shared 选项就可以了,就是这么的容易
$ ls
add.c
$ cat add.c
int add(int a, int b) {return a + b;}
$ gcc -g -Wall -shared -o add.dll add.c
$ ls
add.cadd.dll
$ file add.dll
add.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
$
人造人 发表于 2023-1-13 21:22
对于gcc来说,这很容易
只需要添加 -shared 选项就可以了,就是这么的容易
Windows怎么操作 COCCHome 发表于 2023-1-13 21:24
Windows怎么操作
这不是 windows ?
$ ls
add.cadd.dllmain.c
$ cat main.c
#include <stdio.h>
#include <dlfcn.h>
int main(void) {
void *dll = dlopen("add.dll", RTLD_LAZY);
int (*add)(int a, int b) = dlsym(dll, "add");
printf("%d\n", add(1, 2));
dlclose(dll);
return 0;
}
$ gcc -g -Wall -o main main.c
$ ls
add.cadd.dllmain.cmain.exe
$ ./main
3
$
用cygwin这个挺简单的环境不好吗?为什么要用那么复杂的环境?
看上面的演示,很简单对吧?
既然你驾驭不了那么复杂的环境,那不如换一个简单的环境
因为就是很简单么,在编译命令里面加一个 -shared 就可以了
就是这么简单 人造人 发表于 2023-1-13 21:29
这不是 windows ?
哦哦
页:
[1]