在云服务器上运行Ubuntu测试C语言
1.创建云平台服务器ECS
这里需要注意的是,云服务器的操作系统有多种,本项目是为了在Ubuntu上测试C语言,故云服务器应该选用Ubuntu的
PS:第一次选的时候没有注意操作系统,随便选了一个导致远程连接出现问题
2.运行Ubuntu,使用代码远程连接
ssh root@xxx.xxx.xxx.xxx (@后面是云服务器IP)
出现:
3.随便写一个C语言文件
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
使用指令运行
gcc Hello.c -o Hello
./Hello
生成动态链接库
1.编写两个.c文件:分别为函数
//add.c
int add(int a,int b){
return a+b;
}
//sub.c
int sub(int a,int b){
return (a-b);
}
2.编写一个.c文件调用上述文件
//test.c
#include<stdio.h>
int main()
{
int a=2;
int b=3;
printf("a=%d,b=%d\n",a,b);
printf("a+b=%d\n",add(a,b));
printf("a-b=%d\n",sub(a,b));
return 0;
}
3.通过代码生成动态链接库
gcc -fPIC -shared -o math.so add.c sub.c
4.使用指令运行
gcc -o test test.c ./math.so
./test
Linux下Python调用C/C++动态链接库
需要注意的是,不同操作系统下,Python调用C/C++动态链接库使用的指令不同,在Linux下使用so,在Windows下使用dll
编写Python文件
import ctypes
so =ctypes.CDLL("./math.so")
print("a=1,b=3")
print(so.add(1,3))
使用指令运行
python3 test.py