C++之调用C的so
1.编译C的so库
# emacs add.h
extern "C" { int add(int a, int b);
}//如果去掉:extern "C",会有如下报错:
对‘add(int, int)’未定义的引用# emacs add.c
#include <stdio.h>
int add(int a, int b){printf("a = %d, b = %d\n",a,b);return a + b;
}# gcc -shared -fPIC -o libadd_c.so add.c2.C++调用C的so库
# emacs test.cpp
#include <stdio.h>
#include <dlfcn.h>
#include <stdlib.h>
#include <iostream>
#include "add.h"using namespace std;int main(){int a = 0;a = add(3, 4);return 0;
}注意:如果不加: #include "add.h",
会如下报错:
test.cpp:11:7: error: ‘add’ was not declared in this scope# g++ test.cpp -L ./ -ladd_c -o test# export LD_PRELOAD="./libadd_c.so"
# ./test
a = 3, b = 4
C++之调用C的so相关推荐
- 淘宝获取单笔订单信息服务端调用API及流程
淘宝获取单笔交易接口(文档地址):https://open.taobao.com/api.htm?docId=54&docType=2 调用接口所需依赖(文档地址):https://devel ...
- 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed
使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...
- 使用feign调用注解在eureka上的微服务,简单学会微服务
使用feign调用注解在eureka上的微服务. 首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上. 1. 在调用方添加依赖(万事第一步,加依赖) <dependency ...
- 将页面元素置为不可修改Readonly,所有元素统一修改,统一调用
使用JS方法,实现任何形式的元素的不可修改操作 <script language="javascript"> /**将所有元素置为不可修改 **/ function r ...
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- Go 学习笔记(71)— Go 接口 interface (接口定义、接口实现、接口调用、值接收者、指针接收者)
1. 接口的定义 接口是和调用方的一种约定,它是一个高度抽象的类型,不用和具体的实现细节绑定在一起.接口要做的是定义好约定,告诉调用方自己可以做什么,但不用知道它的内部实现,这和我们见到的具体的类型如 ...
- Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
以下代码的 GOPATH 路径为 "/home/wohu/GoCode" 1. 同一个包内的函数可以相互调用 代码结构如下: wohu@wohu:~/GoCode/src$ tre ...
- python内置库之学习ctypes库(三)--调用Win32API
ctypes库踩坑日记3 1.调用win32的api 2.最好让结构体和程序分开 3.取完数据找到对应信息,创建code.py 4.创建main.py,代码这样看着就很简洁 1.调用win32的api ...
- GPT3 api接口调用
原标题:OpenAI发布GPT3 api调用接口!可处理几乎所有英文问题 大数据文摘出品 作者:牛婉杨.笪洁琼 两周前,OpenAI又放了个大招:GPT3突然放出,其参数量达到1750亿,相当于160 ...
- java中调用python
在Java中调用Python </h1><div class="clear"></div><div class="postBod ...
最新文章
- pandas使用fillna函数并设置bfill参数使用列中的后序值填充缺失值
- Harris算子的运用 用于图像配准
- c++中的new、operator new、placement new
- 吉林省计算机等级二级,吉林省2019年9月计算机等级二级考试教程:二级MSOffice高级应用上机指导...
- 电话光端机与PCM复用设备的区别
- 信息学奥赛一本通(1224:最大子矩阵)
- linux如何加入windows域
- Django之内置组件
- 手机端图片滑动切换效果
- 三种基本排序方法-冒泡排序,选择排序,插入排序
- 闭包及作用域销毁练习
- Abaqus之地应力平衡分析步 Geostatic step
- 2021年全新Java学习路线图,对标阿里P7技术栈
- 渗透中POC、EXP、Payload、Shellcode和exploit的区别
- Office之word如何把尾注的上标加括号,尾注里的上标改为普通数字
- 家政预约小程序设计开发(附近师傅+在线抢单服务APP)
- 备选统驭科目的使用与配置
- python字符串操作符-python字符串操作
- 风丘科技为您提供10M以太网解决方案
- 大一计算机应用基础实验指导,大学计算机应用基础实验指导详解.doc