随笔分类 -  C/C++

C/C++ discussion
摘要:Windows 程序捕获崩溃异常 生成dump 概述 事情的起因是,有个同事开发的程序,交付的版本程序,会偶尔随机崩溃了。 悲催的是没有输出log,也没有输出dump文件。 我建议他给程序代码加个异常捕获,在崩溃时生成dump,方便找出问题点。 隔了一天之后,短暂交流,发现他没有这个开发经验,我只好 阅读全文
posted @ 2018-09-10 12:07 Jojodru 阅读(3067) 评论(0) 推荐(0)
摘要:鸽了这么久,正式开工 Author: carbon email: ecras_y@163.com 参考资料: https://github.com/tensorflow/tensorflow https://github.com/snipsco/tensorflow-build 年中6月份的时候被抽 阅读全文
posted @ 2017-10-27 18:04 Jojodru 阅读(19240) 评论(13) 推荐(1)
摘要:1.C++11中引入了lambada表达式,很好的支持异步编程 2.C++11中引入了std::thread,可以很方便的构建线程,更方便的可移植特性 3.C++11中引入了std::mutex,可以很方便的构建线程锁互斥访问,更方便的可移植特性 4.C++11中引入了std::condition_ 阅读全文
posted @ 2017-04-06 20:07 Jojodru 阅读(2173) 评论(0) 推荐(0)
摘要:C++11 提供强大的智能指针shared_ptr来管理内存,避免使用裸指针带来的各种不确定访问造成的程序崩溃。 为了强制使用智能指针,一个简单的办法是,将类的构造函数析构函数声明为protected,防止new实例。 但是这个办法有一个缺陷,子类继承之后,无法拦截new的访问。 缺陷先不管,一个团 阅读全文
posted @ 2017-04-05 16:42 Jojodru 阅读(1223) 评论(0) 推荐(0)
摘要:一个偶然的机缘,好像要做直播相关的项目 为了筹备,前期做一些只是储备,于是开始学习ffmpeg 这是学习的第一课 做一个简单的播放器,播放视频画面帧 思路是,将视频文件解码,得到帧,然后使用定时器,1秒显示24帧 1.创建win32工程,添加菜单项 “打开” 为了避免闪烁,MyRegisterCla 阅读全文
posted @ 2017-03-02 10:11 Jojodru 阅读(1149) 评论(0) 推荐(0)
摘要:源码版本:android 7.0 步骤1:source build/envsetup.sh 步骤2:lunch 步骤3:选择编译设备目标 步骤4:make adb USE_MINGW=y 下面是应对编译失败的对策: 错误:没有规则创建AdbWinApi.a 很奇葩的一个错误,即使手动拷贝至 out/ 阅读全文
posted @ 2017-02-22 18:20 Jojodru 阅读(928) 评论(0) 推荐(0)
摘要:android操作系统在5.0之后加入了对64位程序的支持,同时兼容运行32位的进程 android的进程绝大部分是zygote父进程fork出来的子进程 zygote进程fork出来的进程是32位进程 zygote64进程fork出来的进程是64位进程 但是有一些在zygote启动之前的进程,那就 阅读全文
posted @ 2016-06-06 15:51 Jojodru 阅读(1880) 评论(0) 推荐(0)
摘要:INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。 节(section) 节(section) 节用方括号括起来,单独占一行,例如: [section] 键(key) 键(key) 键(key)又名属性(proper 阅读全文
posted @ 2016-05-09 14:41 Jojodru 阅读(1594) 评论(0) 推荐(0)
摘要:当我们启动一个子进程, 打开读写管道,同时设置子进程继承这些管道的句柄, 我们就可以操作子进程的标准输入和标准输出了。 这样有个弊端,子进程会继承父进程打开的所有文件句柄。 如果子进程不退出,一直持续任务,那么,被打开的文件就无法重命名和删除了。 有两个解决的办法: 1. CreateFile的时候 阅读全文
posted @ 2016-04-01 19:07 Jojodru 阅读(6178) 评论(0) 推荐(0)
摘要:c语言初学时,比较常见的一个习题就是实现cp。 使用c库实现的cp就不赘述了。 最近工作用到内存映射,就拿来练下手,复习一下mmap的用法。 很简单,将目标文件和源文件映射到内存,然后使用memcpy拷贝即可。 可以省去中间缓存的创建,代码页较为简单,拷贝速度也不错。 阅读全文
posted @ 2016-03-24 19:49 Jojodru 阅读(491) 评论(0) 推荐(0)
摘要:移植win32程序时,有一个难点就是涉及到内核对象的操作,需要模拟win32的实现。 其中比较奇葩的一个是WaitForSingleObject系列。 Linux中没有类似的timeout实现,模拟这个接口,颇费功夫,做个笔记,以备将来。 头文件 1 /* 2 * WIN32 Events for 阅读全文
posted @ 2016-03-02 11:36 Jojodru 阅读(1077) 评论(0) 推荐(0)
摘要:开发加密程序时,有很多种加密算法可以选择,blowfish,AES,还有简单的异或运算啦等等其实这些都不是关键,关键点是如何隐藏加密算法的key如果将key作为明文保存在程序中,很容易在数据段中查看到相应的值从而失去了加密的意义由此可见,一个关键点在于隐藏key字符使用boost库的序列化宏,可以简... 阅读全文
posted @ 2015-08-25 16:00 Jojodru 阅读(493) 评论(0) 推荐(0)
摘要:C/C++的资源是手动管理的这导致程序员在申请资源时,最后用完了偶尔会忘记回收C++语言的发明者倡导RAII,资源获取即初始化使用对象来管理资源的生命周期,在超出作用域时,析构函数自动释放资源然而,很多程序员不愿意每次使用一个资源,就生成一个class类型来管理资源C++ 11的来临,可以很优雅的解... 阅读全文
posted @ 2015-07-28 15:00 Jojodru 阅读(1719) 评论(0) 推荐(0)
摘要:gcc 4.8中已经包含了std regex的头文件可是没有实现,所以链接是失败的gcc 4.9完整的支持了c++ 11的regex。在4.9以前,可以寻求boost的regex。不过,我更熟悉pcre,基于perl的正则表达式的实现。下载源码,解压将库配置为交叉编译,只生成静态库,配置pcre代码... 阅读全文
posted @ 2015-07-09 17:02 Jojodru 阅读(2292) 评论(0) 推荐(0)
摘要:最近在做一个项目,需要用到http get post等需求分析需要做到同步和异步,异步请求的返回以可选的回调通知的方式进行。本人以Linux为例,一步一步的来实现。配置并且编译libcurl我以在Linux底下的交叉编译举例。libcurl源码下载:http://curl.haxx.se/downl... 阅读全文
posted @ 2015-06-04 10:52 Jojodru 阅读(12277) 评论(1) 推荐(3)
摘要:代码如下:#include using namespace std;templateclass Base {public: void SayHi() { T* pT = static_cast(this); pT->PrintClassName(); }... 阅读全文
posted @ 2015-03-11 11:23 Jojodru 阅读(197) 评论(0) 推荐(0)
摘要:根据minizip改写的模块,需要zlib支持输出的接口: 1 #define RG_ZIP_FILE_REPLACE 0 2 #define RG_ZIP_FILE_APPEND 1 3 4 //压缩文件夹目录,递归压缩 5 //szDir是需要压缩的目录,dstLe... 阅读全文
posted @ 2014-11-26 17:23 Jojodru 阅读(5107) 评论(1) 推荐(0)
摘要:使用adb devices命令,可以轻松获取到所有连接到PC的adb设备的serial值。但是adb命令无法获取adb usb设备的vendor id和product id。本程序根据adb协议,遍历usb设备,使用ioctrl获取serial和vid,pid,这样可以将serial和vid pid... 阅读全文
posted @ 2014-10-16 15:18 Jojodru 阅读(6075) 评论(5) 推荐(0)
摘要:条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。int pthread_cond_wait(pthread_cond_t *cond... 阅读全文
posted @ 2014-10-13 14:37 Jojodru 阅读(2929) 评论(0) 推荐(0)
摘要:在实际工作中,std的string功能相对于MFC的CString来说,实在是相形见绌。CStdString类实现了CString的功能,支持跨平台。 1 // ===================================================================... 阅读全文
posted @ 2014-09-30 16:41 Jojodru 阅读(3166) 评论(0) 推荐(0)