![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
zozoiiiiiiii
这个作者很懒,什么都没留下…
展开
-
win32/unix : IPC + inter-process synchronization
IPC(进程间通信)包括以下一种方法:管道 : pipe(只能有亲缘关系的进程之间), FIFO命名管道windows:http://bbs.pediy.com/showthread.php?threadid=26252 油槽socket共享内存: 以下代码是unix/win32的代码。包含进程互斥OPPOS.h/** OPPO原创 2011-06-03 09:53:00 · 698 阅读 · 0 评论 -
dll, lib
/**************************/win32下的动态库IDE: vs2005/**************************/库的建立:在工程-属性-常规-配置类型,选择动态库;一个动态库发布,包含一个头文件,一个dll,一个lib,lib文件dll的函数列表 头文件中包含一个宏定义,在具体实现的文件中#define FUNC_EXPORTS原创 2011-06-23 17:10:00 · 543 阅读 · 0 评论 -
learn lua 1
官网:http://www.lua.org/lua5.1 参考手册: http://manual.luaer.cn/lua5.0 开发手册:http://book.luaer.cn/lua5.1 开发手册: http://www.verycd.com/topics/2903083/ c++下开发lua, 现成的封装库有luabind,lua tinker, tolua等原创 2012-04-01 17:53:31 · 560 阅读 · 0 评论 -
序列化反序列化
只要用到网络开发啊,就一定会用到序列化反序列化。1,自定义结构体struct test{int len;int type;char data[10];}test* data=(test*) buffer.缺点:明文,只支持基本类型,不支持变长结构2,在1的基础上,自定义一个缓冲类,存放一个消息。把消息写入缓冲,通过支持string, vector原创 2012-07-30 09:31:41 · 1652 阅读 · 0 评论 -
common error.
1,添加#define WIN32_LEAN_AND_MEAN 彻底解决winsock2.h的问题http://rshell.blog.163.com/blog/static/4161917020105801122959/2,插入数据后立马知道其自增的IDinsert into role([name]) values('rrr')select @@identity原创 2011-08-26 11:26:43 · 498 阅读 · 0 评论 -
第三方库的编译
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////所有第三方库编译的时候,需要注意自己项目的runtimelib是用的mt, 还是md,第三方库也要统一,避免出现 error LNK2005重定义错误原创 2012-05-21 17:21:26 · 1700 阅读 · 0 评论 -
跨平台开发--标准
操作系统标准POSIX.1-2008 又叫做 IEEE Std 1003.1?-2008,也叫做ISO/IEC 9945http://www.lindevdoc.org/wiki/POSIXVersion/part of the specIEEE NumberDate of PublicationContentsPOSIX.11003原创 2012-03-09 13:51:25 · 853 阅读 · 0 评论 -
c++强制转换
隐式转换: char->int显示转换: c风格转换: Base* b=new Test; Test* t=(Test*)b; c++风格: static_cast: 编译时检查,如果不是派生关系,则编译错误 dynamic_cast:运行时检查,如果不是派生关系,则返回null---rtti reinterpret_c原创 2012-08-23 13:35:28 · 465 阅读 · 0 评论 -
sprintf %+2s用法
char buf[3]="hi"; char buf1[10]={0}; //不论buf大小,截取3位,不足默认用0补齐。默认在前面补齐,即+; 如果是-,则在尾部补齐 sprintf(buf1, "%+3s", buf);//buf1=" hi" sprintf(buf1, "%-3s", buf);//buf1="hi " char buf3[2]={0}; sprin原创 2013-05-24 15:54:35 · 1457 阅读 · 0 评论 -
c++项目属性
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////运行时库:c/c++ run time library(standard c/c++)-->microsoft c/c++ runtime原创 2012-07-04 10:21:50 · 876 阅读 · 0 评论 -
c++调用c#的dll
#using "warnning.dll"using namespace warnning;warnning::warnner ^w=gcnew warnning::warnner();编译通过,执行的时候有个异常错误,找了好久,才解决,不仅把c#的dll放在vcproj同目录下(编译时用),还需要把c#的dll放在c++的exe目录下(执行时用)原创 2012-06-05 09:26:46 · 578 阅读 · 0 评论 -
subversion dev
~ ~slow it down~ ~目标:弄清楚subversion的模块,封装一个win32/unix的subversion client, 提供checkout,update接口 svn: 版本管理工具,官网:http://subversion.apache.org/ 工程下载:http://subversion.tigris.org/servlets/Project原创 2011-06-10 18:06:00 · 929 阅读 · 0 评论 -
ace thread
url: http://www.cnblogs.com/TianFang/archive/2006/12/04/581369.htmlace提供的线程机制屏蔽了平台差异;#include "ace/Thread.h"#include "ace/Synch.h"原创 2011-08-01 16:22:27 · 479 阅读 · 0 评论 -
unix/win32: utf8, unicode, ansi
1, 基本概念,几种编码方式1,unicode: 是一个字符集; utf16, UCS-2编码,little endian格式2,Unicode big endian编码3,utf8: unicode的一种,变长编码4,ansi: 本地编码原创 2011-08-02 14:23:17 · 1121 阅读 · 0 评论 -
回调函数的使用
在消息处理的时候,一般都用switch(msgid) case的方式来处理不同消息,但是随着消息的增多,就显得不方便;解决方法:利用回调函数,来定制查找表http://blog.csdn.net/hjsunj/article/details/2037354//查找原创 2011-08-15 09:45:36 · 470 阅读 · 0 评论 -
str string 内存泄露
struct log{string test;}有string的时候慎用memcpy, memmove之类的,防止内存泄露stl string内部包含union _Bxty{ _Elem _Buf[_BUF_SIZE]; _Elem* _Ptr;} _Bx;如果拷贝的字符串长度小,则用栈空间;不然用堆空间,此时如果memcpy的话,是浅拷贝。原创 2012-03-07 11:21:44 · 1086 阅读 · 0 评论 -
c++ 头文件 全局变量
头文件在编译的时候,只是简单的展开,当项目大的时候,很容易发生以下情况:test.htest1.h---include test.htest2.h---include test1.h, test.h这样,test2.h里面就把test.h展开了两次。所以要用头文件卫士。头文件卫士是防止一个文件内包含多次 全局变量:test.h 文件中定义了全局变量 int g_int;原创 2012-04-12 14:31:36 · 974 阅读 · 0 评论 -
理解c++的union
因为不熟悉,所以一直没用过union,刚刚看到个利用union来强转的例子,突然想到原来可以让强转这么优雅union test{int a,char c}test.a=3;char c=test.c;std::string的实现: union _Bxty { // storage for small bu原创 2012-05-28 11:12:03 · 517 阅读 · 0 评论 -
库接口的设计
1,利用虚函数class base{ public:void func(); }class child{public: void func();}base* b=new child()2,利用implclass base{private:class baseImpl* pimpl;}//cppclass baseImpl原创 2012-05-28 20:45:20 · 478 阅读 · 0 评论 -
vs调试时,感觉差一行代码的问题
vs 调试时,总感觉差一行,如下效果: 纠结好久,通过查看16进制发现, 有行以 0xd 0xd 0xa结尾,导致的。 总结:此代码是网上拷贝的一个函数到项目时产生的,vs提示行尾时,不要用当前设置,用windows方式就不会出错了。原创 2016-08-05 17:49:34 · 925 阅读 · 0 评论