C++
文章平均质量分 54
netnote
“所有重要的事情在很久以前就已提到过了”
展开
-
原子操作
原子操作2008-8-7 version 1.0 原子操作作用于long等简单类型的简单算术操作;1 Windows APIWinAPI提供了丰富的原子操作函数,这些函数可以多线程程序或多进程访问的共享内存:l InterlockedIncrement与InterlockedIncrement64;原创 2008-10-24 18:38:00 · 1719 阅读 · 0 评论 -
popen内存不足问题解决办法
执行popen时报enomem错误# 修改内核参数中的内存限制sysctl -w vm.overcommit_memory=1原创 2012-08-16 21:26:57 · 2829 阅读 · 0 评论 -
CUNIT与gcov
执行cunit程序,生成xxxx-Listing.xml、xxxx-Results.xml两个xml文件,将他们与CUnit-Run.xsl、CUnit-List.xsl、Memory-Dump.xsl等(/usr/local/share/CUnit/)放到同一个目录下,这样可以原创 2011-08-06 23:24:40 · 2867 阅读 · 0 评论 -
Cppunit基础(2) --基于VC
TestCase,单个测试用例,自定义测试类的父类;TestSuit,一组测试用例,由TestCase组成; 编写的基本步骤:1,新建工程,设置RTTI及多线程lib,添加需要的lib,如cppunitd.lib TestRunnerd.lib 2,从Cp原创 2011-08-05 23:01:28 · 764 阅读 · 0 评论 -
ACE Timer依赖OS时间的解决办法
ACE默认的时钟实现依赖操作系统时钟(ACE_OS::gettimeofday),例如改小系统时间会造成时钟触发延时。该问题可通过修改timer_queue的gettimeofday函数来解决。网上提及的一种办法是使用ACE_High_Res_Timer::gettimeofda原创 2011-07-27 20:43:13 · 5111 阅读 · 3 评论 -
ace超时代码
#include #include #include "ace/Timer_Queue_Adapters.h"#include "ace/Event_Handler.h"#include "ace/Timer_Wheel.h"#include "ace/reactor.h"#in原创 2011-07-20 22:24:20 · 1866 阅读 · 0 评论 -
CppUnit基础使用
以前的整理原创 2010-06-13 20:59:00 · 682 阅读 · 0 评论 -
函数可重入性(reentrant)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class原创 2010-05-12 15:55:00 · 1733 阅读 · 0 评论 -
strtok_r测试代码
gcc version 3.2.3,Linux tmp222 2.6.9-55.EL上的测试代码 1,#include #include int main(){ char buf[] = ";132;312;213;;;aa"; std::cout char* test; char* p = str原创 2010-04-30 09:20:00 · 805 阅读 · 0 评论 -
堆和栈的区别
注:1,文章摘自http://www.yuanma.org/data/2006/1121/article_1841.htm,并有如下声明:“非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!”;2,文中某些内容不准确或可能有误; 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—转载 2010-04-16 23:41:00 · 577 阅读 · 0 评论 -
gsoap编译碰到的问题
使用gsoap编译下面的wsdl文件,生成c++文件中总是缺少函数,通过查看wsdl2h.exe生成的.h文件终于发现是namespace的问题,把namespace都改成"http://10.130.41.232:8083/RMS/webservice/RMS"就可以了。 不懂Webservice,不理解原因。 Built on May 03, 2005 (02:20:24原创 2009-05-07 15:11:00 · 2079 阅读 · 0 评论 -
Windows dll编写与def文件
问题1:查看一个编写的dll的输出,函数名老是 _xxxx@n之类,已经使用了extern "C"并工程中添加了def文件。在“问专家”中搜索到这么一段: 在VC++中,如果生成DLL可以不使用.def文件。你只需要在VC++的函数定义前要加__declspec(dllexport)修饰就可以了。但是使用__declspec(dllexport)和使用.def文件是有原创 2009-02-08 16:18:00 · 3646 阅读 · 0 评论 -
ACE::init
被ACE::init郁闷了一把——因为没有调用该函数,结果创建线程时报错: tester.exe 中的 0x7c921010 处未处理的异常: 0xC0000005: 读取位置 0x00000018 时发生访问冲突 。 程序停在static unsigned long WINAPI _threadstartex中;加入ACE::init后问题解决。平台,VC7.1 ACE5.5原创 2009-02-09 11:59:00 · 3377 阅读 · 2 评论 -
GSoap服务器内存泄漏问题
version 1.02008-11-25 写了个GSoap2.7.10的服务器小程序,代码很简单: RecSoapBindingService svr; int m = svr.bind(0, 80, 100); if(m { soap_print_fault(&svr, stderr); return 0; } fp原创 2008-11-25 09:48:00 · 5222 阅读 · 1 评论 -
碰上一个ACE问题
2008-11-4ACE5.5现象:一个正常的TCP连接,一段时间后client向server发送数据失败——127.0.0.1的地址,连接未断开,client日志显示发送成功,而server的日志却显示未收到数据。内部实现:client发送数据时首先将数据加入ACE_Message_Queue中,再使用reactor()->notify(this, ACE_Event_Handler::WRIT原创 2008-11-04 15:12:00 · 989 阅读 · 0 评论 -
程序性能优化的常用技术
程序性能优化的常用技术 Version 1.02008-4-28以下内容主要摘自《程序设计方法与优化》(西交大出版)。l 优化分类:Ø 算法级优化,Ø 语音级优化,如减少需要执行的语句,指针移动代替内存copy,初始化操作放到开始等Ø 指令级优化,常针对原创 2008-10-24 18:46:00 · 945 阅读 · 0 评论 -
OpenMP
OpenMP2008-8-10 version 1.0 1 简介www.openmp.orgGNU的gomp项目;Include ;编译参数-fopenmp打开openmp,如果使用-lgomp则编译成单线程版本;条件编译 #ifdef _OPENMP声明并行区,由编译器和运行时库确定线程的创建、终止、调度和数量原创 2008-10-24 18:42:00 · 8655 阅读 · 0 评论 -
多线程开发的一些基础知识
原子操作、volatile、CC、SC、Data Race、False Sharing原创 2016-11-21 23:19:30 · 375 阅读 · 0 评论