C++
秋风知劲草
Be better
展开
-
C++ so没有导出符号
新建了一个头文件,加了一些接口,并且接口前面都加了__attribute__((visibility("default")))但是生成的so,用nm -D去查找符号,还是没有找到新加的接口原创 2022-06-16 15:58:10 · 791 阅读 · 1 评论 -
Android NDK编译遇到的一些问题
在配置Android.mk的时候,遇到了一些问题1、mk文件没跑检查代码,极可能是路径写错了,可以用$(warning $(DIR_3RDPARTY)) 打印,用ls 去看看有没有这个路径变量赋值要用 :=,用=会导致不可预料的问题,例如变量在后续使用中被拼接了其他内容//DIR_3RDPARTY := $(LOCAL_PATH)/../../3rdparty### 例如这里泄露了:,直接用 = 赋值DIR_3RDPARTY = $(LOCAL_PATH)/../../3rdparty原创 2022-04-01 12:25:55 · 3634 阅读 · 0 评论 -
C++ SIGTRAP崩溃
现象:断点崩溃停在方法的最后一行,崩溃信息是SIGTRAP,检查了最后一行的代码没什么问题;定位:通过变量值的变化,发现最后一行代码已经执行了,说明是执行完这行代码才蹦的。随便在后面又加一行代码,发现又崩在新加的一行代码处。结论:猛然发现这个方法返回值是bool,缺少了return 返回值;低级错误......原创 2022-03-08 16:57:38 · 3747 阅读 · 1 评论 -
C++ 根据遍历构建二叉树
根据前序和中序遍历,构建二叉树。前序遍历顺序是根左右,中序遍历顺序是左根右。struct TreeNode { int val; TreeNode *leftChild; TreeNode *rightChild;}TreeNode * buildTree(int *preOrder, int *inorder, int length) { if(preOrder == NULL || inorder == NULL || length <= 0) { return NU原创 2021-05-05 11:19:02 · 278 阅读 · 0 评论 -
C++遍历
一、前序遍历struct TreeNode{ int val; TreeNode *leftChild; TreeNode *rightChild;}//前序遍历 循环 根左右void preVisitTree(TreeNode *rootNode) { if(rootNode == NULL) { return; } std::stack<TreeNode *> nodes; TreeNode *tempN原创 2021-05-05 10:25:15 · 1254 阅读 · 0 评论 -
C++ 单例模式
一、饿汉模式特点:一开始就创建,线程安全。缺点:过早创建实例,降低内存使用效率。class Singleton {private: Singleton(){}; static Singleton* sInstance;public: static Singleton* getInstance() { return sInstance; } static void Destory() { delete sInstanc原创 2021-05-04 16:09:18 · 86 阅读 · 0 评论 -
C++ 数组与指针
一、数组形参数组在传入时,实际上只传入指向其首元素的指针。数组在“退化”时会丢失边界。void average(int ary[12]); //形参ary是一个int *//...int anArray[] = {1,2,3};average(anArray); //合法void average(int ary[], int size); //传统的做法是将数组大小传入如果数组边界的精确数组很重要,并且希望函数只接受含特定数量的元素的数组,可以考虑引用形参。void avera原创 2021-05-04 11:30:37 · 5092 阅读 · 0 评论 -
c/c++中运行外部程序
关于三个SDK函数: WinExec, ShellExecute,CreateProcess 的其他注意事项:【1】定义头文件必须定义以下头文件:#include 【2】定义路径C++中所表示的路径要用 " \\ "而不是平常所用的" \ ",所以以上三个函数表示路径都为:disk:\\Directory\\...\\File nameWinExec("D:\\转载 2015-07-31 14:46:41 · 562 阅读 · 0 评论 -
STL系列之一 deque双向队列
MARK下原文:http://blog.csdn.net/morewindows/article/details/6946811转载 2015-08-02 15:48:49 · 399 阅读 · 0 评论 -
STL中的set容器的一点总结
mark原文:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html转载 2015-08-02 15:58:09 · 373 阅读 · 0 评论 -
for_each的用法
for_each的用法原文地址:http://blog.csdn.net/hionceshine/archive/2008/11/19/3336318.aspxAbstract之前在(原創) 如何使用for_each() algorithm? (C/C++) (STL) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effective STL的it转载 2015-08-05 10:06:55 · 554 阅读 · 0 评论 -
C++小笔记(持续更新)
1、string转为char*string str = "123";char * c = const_cast(str.c_str());//string转为const char* ,再转为char* 使用strcpy时出现异常...没搞懂,之前这样用好像可以string str("");cin>>str;char *p = NULL;strcpy(p,str.c_str(原创 2016-08-17 16:31:24 · 414 阅读 · 0 评论 -
【C++类型转换】static_cast, dynamic_cast, const_cast探讨
转载自:http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式转载 2015-08-10 15:34:37 · 382 阅读 · 0 评论 -
C++进阶书籍推荐
C++书籍太丰富了,以下是我精选推荐的。 一、C++入门普及篇:1.《C++程序设计教程》(钱能-清华版)讲解较为清析、简单,符合中国学生思路,价格便宜。但深度和广度欠佳,适合初学者。2.《C++程序设计语言》C++之父所作,被称之为“C++圣经”。不仅对语言,而且对语言周边的一些如发展史、语义哲学都有比较详细的描述。对语言的描述较为全面,同时包含一部分和程序库相关联的知识转载 2015-06-26 15:20:31 · 662 阅读 · 0 评论