
C++
文章平均质量分 70
lzy0168
这个作者很懒,什么都没留下…
展开
-
istringstream 和 ostringstream 的使用例子
// 此文版权属于作者本人,任何人、媒体或者网站转载、借用都必须征得作者本人同意sstream_example.cpp00001 // $Id$00002 /**00003 * @file sstream_example.cpp00004 * @brief istringstream 和 ostringstream 使用例子00005 *00006 * 版权所有©原创 2006-03-30 22:39:00 · 1648 阅读 · 0 评论 -
采用 ACE Reactor 实现服务程序例子
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!ACE 使用方法及例子,网上有不少,下面贴一段我写的采用 ACE Reactor 模式写的 echo 服务的例子代码,通过例子可以看出,采用 ACE 开发多客户端的服务程序那是相当简单的!代码中,handle_input(…)和 handle_output(…)都会对 _bufs 进行操作,因为这两个函数都是运原创 2012-08-14 09:38:41 · 2217 阅读 · 0 评论 -
C++开发指导之使用编译期的契约:约束,在编译期发现程序的错误
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!利用 C/C++ 编译器对源程序进行编译的时候会检查语法错误和计算常量等特性,可以给我们的 C/C++源代码添加一些编译期的契约,要求源代码按一定的规则使用,这样的好处是可以减少很多使用错误,减少软件的 bug,因为这些 bug在代码编译的时候就发现了,不用等测试或现场使用时才发现。下面举一些编译期的契约,原创 2012-08-14 09:06:50 · 674 阅读 · 0 评论 -
C/C++领域速度最快的程序诊断日志库 Pantheios 介绍
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意! Pantheios是目前为止 C/C++ 领域速度最快的程序诊断日志库,功能强大,性能突出。下面做一下简单介绍。Pantheios的本质1. 是用于程序诊断的日志 api 库,不是诊断日志库。2. 开源,100% 免费。3. 依赖几个第三方库,这几个库也是开源原创 2012-08-14 09:11:13 · 2270 阅读 · 0 评论 -
用例子学习 c++范型编程(模板元)
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!例子用一个实例:通过 jni 接口读取 java 对象。#include //=============================================================// 场景 1,最常见namespace t1 { //=====================原创 2013-01-25 14:30:30 · 779 阅读 · 0 评论 -
yuv420sp to rgba 算法
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!typedef struct yuv2rgb_rgb_t { int r, g, b;} yuv2rgb_rgb_t;static inline void rgb_calc(yuv2rgb_rgb_t* rgb, int Y, int Cr, int Cb) { rgb->r = Y + Cr +原创 2013-01-16 13:46:10 · 2694 阅读 · 0 评论 -
ndk-build android.mk 自动生成文件
参考:stackoverflow.comndk-build 是 gnu make 的一个瘦包装,同样支持自动生成文件,下面的例子是通过 generated.in 生成 generated.candroid.mk 的内容如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := ndkexampleLOCA原创 2013-07-02 16:00:57 · 3696 阅读 · 0 评论 -
android r8e ndk-build clean 错误处理
参考:NDK 8e 有错误?android-ndk-r8e 在进行 clean 时发生错误:ndk-build cleanClean: gnustl_shared [armeabi]/bin/sh: -c: line 0: syntax error near unexpected token `('/bin/sh: -c: line 0: `rm -rf (TARGET_O转载 2013-06-25 18:57:11 · 3015 阅读 · 0 评论 -
makefile 里面 := 和 = 的区别
makefile 里面 := 和 = 的区别原创 2013-07-20 10:23:39 · 897 阅读 · 0 评论 -
牛逼代码收藏
1. void set_bit(int &input_output, bool to_set, int left_shift). (来自 linzj)第一个参数是目标整数,输入输出;第二个参数表示是设置这一位还是清空它;第三个参数表示那个位的位置,也就是左移动多少位。input_output ^= (input_output & (1原创 2015-01-09 10:01:20 · 1187 阅读 · 0 评论 -
32 位模式下 C/C++ 程序到底可以用多少内存
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!32位的程序寻址空间是 4G,因此能用的内存应该有 4G,除掉一些系统等使用的乱七八糟的东西,3G内存应该没有问题吧,这些只是猜测,写个程序测一下,结果如下:测试结论:1. 栈内存最大可用 768k左右;2. 堆内存最大可用 1.586G左右。原创 2012-08-14 09:30:44 · 2119 阅读 · 0 评论 -
windows 串口编程例子
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意! 今天需要测试一些串口设备,写了一个简单例子,贴到这里,做个备忘。HANDLE dev;char buf[1024];BOOL set_opt_1(){ printf("%s\n", __FUNCTION__); DCB dcb; SecureZeroMemory(&dcb, sizeof(DC原创 2012-04-20 14:16:39 · 869 阅读 · 0 评论 -
C++沉思录读书笔记1.如何定义一个完整的类
C++沉思录(Ruminations On C++)读书笔记1.如何定义一个完整的类作者: 2006-4-27 12:19C++ 哲学:只为用到的东西付出代价定义一个类时必须搞清楚的几个问题: 需要构造函数吗? 如果答案为 no,那么很可能你需要定义的只是一个结构,而不是一个类,因为构造函数的用途是用一种明确定义的状态来设置对象。原创 2006-04-28 09:54:00 · 2089 阅读 · 0 评论 -
C++中使用约束(Imperfect C++ 读书笔记)
此文版权属于作者智勇,任何人、媒体或者网站转载、借用都必须征得作者本人同意编译期契约:约束 must_have_base() 必须继承自 templatetypename D, typename B>struct must_have_base{ ~must_have_base() { void (*p)(D*, B*) = constrain原创 2008-04-01 14:38:00 · 1363 阅读 · 0 评论 -
C++ 强制类型转换
此文版权属于作者智勇,任何人、媒体或者网站转载、借用都必须征得作者本人同意C++ 里的 cast-name(expression) 强制类型转换可以用 C 的方式表示,但用 cast-name(expression) 使类型转换具有可视性,这样一来程序员可清楚地辨别代码中每个显式的强制转换潜在的风险级别。强制类型转换的分类: dynamic_cast 将原创 2008-04-02 16:09:00 · 3554 阅读 · 1 评论 -
一些有用的模板类01(C++) (Imperfect C++ , Matthew Wilson 读书笔记)
此文版权属于作者智勇,任何人、媒体或者网站转载、借用都必须征得作者本人同意 sequence_container_veneer 实现 templatetypename C, typename F>class sequence_container_veneer : public C{public: ~sequence_container原创 2008-04-03 13:42:00 · 1218 阅读 · 0 评论 -
Qt3 在 Visual Studio 2008 和 Visual Studio 2010 环境下编译
Qt3 经过简单修改后可在在 Visual Studio 2008 和 Visual Studio 2010 环境下编译及使用原创 2010-12-15 17:19:00 · 1622 阅读 · 2 评论 -
为 VMware 里的 debian 安装 VMware tools
为 VMware 里的 debian 安装 VMware tools 相当麻烦,这里是本人的安装笔记。原创 2011-01-17 08:20:00 · 1331 阅读 · 0 评论 -
boost asio deadline_timer 取消测试
今天对 boost asio deadline_timer 的取消做了个测试,结果记录如下: 对于任何时间未到的 timer,只要对该 timer 做了 cancel 或者 expires_xxx 操作,该 timer 原先登记的 handler 都会被调用,并且 err 为 true。因此对于 deadline_timer 比较建议的做法如下: // timer handler原创 2011-06-12 08:54:00 · 6376 阅读 · 0 评论 -
IEEE 754 double 编码为二进制
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意! 有些系统的 double 的 sizeof 不为 8,或者 double 在内存里的表示不是 IEEE 754 格式,在这种系统中,需要按 IEEE 754 的 double 格式传输给其它人原创 2011-10-19 10:59:47 · 2783 阅读 · 0 评论 -
WordSR 在多个Word文件中批量查找替换
这阵子在看一些技术文档,都是 word 格式的,需要在多个Word文件中批量查找指定的内容,找不到免费的合适的软件,顺手开发了这个工具软件,下载地址 WordSR v0.2,下面是一些版权信息和软件介绍。 WordSR 在多个Word文件中批量查找替换 版本 0.2 版权所有(C) 2012 lzy0168@gmail.com 保留所有权利 此程序为免费软件,仅为使用目的发布,原创 2011-04-30 13:25:00 · 9847 阅读 · 5 评论 -
避免直接依赖 android log 库
此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!#include #include /* dlsym */typedef int (*log_print_fun)(int, const char*, const char*, ...);static log_print_fun log_print = (log_print_fun) dls原创 2016-05-04 15:21:17 · 550 阅读 · 0 评论