自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 记录一个非常有趣的题目好 强制修改const变量值

const int i=10; int* j=(int*)&i; *j=20; printf("%d,%d\n",*j,i); 问题:在C和C++中,输出的结果分别是什么? c中: 20 20 c++中: 20 10 原因是因为c++中有个常量折叠概念,所有的const变量都会被放在编译器符号表中,取const变量的时候会直接从表中取值,而不会去内存中取值。(编译优化) 另外说一点,这种方式修改的const变量,只能是局部变量,不能是全局变量或静态变量。 如果是全局区的变量,编译不会出现问

2020-07-12 00:27:35 225

原创 C接口实现任务记录

C接口实现任务记录 main—>c接口---->c++接口 由c接口的实现记录任务taskID //main.cc # include "c_opt.h" # include <iostream> int main() { int task1 = 11; int task2 = 22; int task3 = 33; //传入taskid用...

2019-12-20 17:31:54 438

原创 动态库的多重链库方法

动态库的多重链库方法 因项目需要将c++接口进行封装成c接口调用,实现可执行文件(a.out)去链接b.so(封装的c接口),并且b.so依赖于c.so(c++接口)。 方法一:a.out隐式加载b.so,b.so隐式加载c.so; 源代码: //cplus.cc 记为c++接口的源文件,编译生成libcplus.so //g++ cplus.cc -o libcplus.so -shared...

2019-12-12 20:23:27 228

原创 linux加载动态库的两种方式

linux加载动态库的两种方式 linux中加载动态库分为运行时动态加载和启动时静态加载两种方式。 首先,写一个简单的test.cc (1)//test.cc //编译动态库 g++ test.cc -o libtest.cc -shared -fPIC #include int dosomethings(char* ch, int a, std::string s) { std::cout &...

2019-12-12 10:53:46 957

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除