函数指针定义和typedef

声明返回值是int*的一个函数: int* f(int a, int b);   调用方法: int* a = f(1, 2); 声明f是一个返回int,有2个int参数的函数变量:int (*f)(int a, int b); 调用方法: f = funcA; f(1,2);  ...

2017-08-16 18:49:34

阅读数:142

评论数:0

网络字节是big endian, 是直观模式的存储方式

int类型的0x12345678的网络字节流写入顺序是:  0x12 0x34 0x56 0x78 低位高地址保存, 这样看比较直观。 一般网络传输需要用网络字节,或者你自己全部都用 little endian也可以的,需要自己写转换函数。 网络自己操作系统自带转换函数,非常方便。

2017-06-28 12:46:07

阅读数:132

评论数:0

linux 编译静态库ar命令

对编译好的.o文件,可以合成一个.a文件,就是静态库,用ar命令: ar rcs libMyLib.a  test1.o test2.o ... testN.o 查看.a包含哪些.o: ar tv libMyLib.a

2017-06-03 10:33:35

阅读数:549

评论数:0

vs2015使用外部工具改变行尾CRLF->LF

VS2015不支持addin和宏了,所以只能手动操作: 工具代码: #include #include #include using namespace std; int main(int argc, char* argv[]) { if (argc != 2) { ...

2017-06-01 18:14:49

阅读数:1352

评论数:0

vs2013设置输入的回车保存的行尾是什么格式的

打开一个文件,文件--》高级保存选项--》选择行尾的系统

2017-05-23 11:26:39

阅读数:605

评论数:0

c++和c#求摸操作符号%的注意问题,是负数的情况

比如: int a= -10; int b = a % 7; 那么b是负数的。如果要求b必须是正数,需要把a转成uint再求摸。 int a = -10; int b = (int)((uint)a %7);

2017-02-24 15:33:40

阅读数:282

评论数:0

mysql_real_escape_string转变了哪些字符

256个0-255的字符串,变成了263个字符,多了7个,也就是转换了7个字符。 00->5c 30  0x00->\0 0a->5c 6e  换行->\n 0d->5c 72  回车->\r 1a->5c 5a  代替->\Z 2...

2017-02-18 16:35:03

阅读数:1437

评论数:0

localtime和localtime_r

localtime返回的是静态指针,非线程安全的,多次调用会被覆盖,因为指向的同一块内存。 localtime_r可以返回数值到自己定义的内存里面。

2017-02-16 15:23:08

阅读数:110

评论数:0

malloc崩溃原因 in _int_malloc () from /lib64/libc.so.6

一般是分配的内存被释放了,又去写入野指针了。 或者分配的内存写入越界了。

2016-12-28 13:44:30

阅读数:3168

评论数:0

windows的api HttpSendRequest

get模式,会缓存请求,如果请求相同的地址和参数,那么它不会发送到httpServer,直接在缓存中读取。 post模式,不会缓存请求。

2016-12-21 16:46:41

阅读数:237

评论数:0

网络数据包的压缩和校验

如果是要求响应速度的, 压缩就不必要了,最简单的zip压缩耗费cpu资源也不少,单核每秒也就处理几十MB的数据 校验:可以用简单的xor校验,复杂的校验占用cpu也太多。

2016-12-19 12:43:24

阅读数:612

评论数:0

mysql的null数据,c++返回的结果判断

返回的长度是0,就是null的,或者空白字符串。

2016-12-18 14:45:22

阅读数:913

评论数:0

只读map在多线程下面加锁吗

测试不用加锁,如果初始化map后,就不改变了, 是可以不加锁多线程调用find函数的。

2016-12-09 13:28:42

阅读数:988

评论数:0

centos下面zlib库的使用

yum install zlib-devel yum install zlib 头文件: zlib.h 函数: compress uncompress makefile链接选项添加:  -lz 因为库名是 libz.so

2016-11-23 19:04:32

阅读数:4581

评论数:0

中间含有"\0"的常量字符串赋值给string的方法。

std::string tmpStr = "test\0test"; 这样赋值,tmpStr的长度是4,而不是预想的 9,因为这样赋值是当成以 \0结尾的字符串赋值的,遇到0就结束。 这样可以: std::string tmpStr("test\...

2016-11-22 20:13:28

阅读数:1177

评论数:1

ofstream 的 endl 会自动flush

即使不主动调用flush函数,只要 of 就会触发写入硬盘操作。

2016-11-21 13:37:22

阅读数:533

评论数:0

c++运算符号优先级 和delphi是不同的。

4 + 加 表达式+表达式 左到右 双目运算符 - 减 表达式-表达式 双目运算符 5 左移 表达...

2016-11-01 13:01:58

阅读数:197

评论数:0

C和C++混合编程的头文件写法

对于需要c++调用的全局变量或函数,如果是在.c中实现的,就需要用下面宏定义: #ifdef __cplusplus extern "C" { #endif void testCFund(); int g_cVar; #ifdef __cpl...

2016-10-26 11:03:47

阅读数:166

评论数:0

WPARAM wParam, LPARAM lParam

一般LPARAM传 递地址,而WPARAM传递其他参数

2016-10-25 11:15:33

阅读数:131

评论数:0

VC中stdafx.h的妙用

可以包项目中包含的标准头文件、namespace、define,typedef 做好 全局变量也可以加入进去。 每个cpp开头都包含 stdafx.h 这样每个h和cpp不用重复包含很多标准头文件,比如 string、list、vector等。

2016-10-06 13:24:04

阅读数:134

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭