C
一块红布1
这个作者很懒,什么都没留下…
展开
-
TCP 结构体粘包算法
struct HEADER{ char szMark[11]; DWORD uSSRC; ULONGLONG useqId; DWORD utotalPacketSize; DWORD unowPacketSize; HEADER() { strcpy(szMark...原创 2020-05-06 10:08:18 · 237 阅读 · 0 评论 -
如何判断计算机是大端还是小端
一:直接在终端输入 python -c "import sys; print(sys.byteorder)"二:写一个程序判断#include int main(void){ int a = 0x44332211; char *ptr = NULL; ptr = (char *)&a; if(*ptr == 0x11) printf(原创 2016-03-25 14:22:40 · 1085 阅读 · 0 评论 -
stdarg.h详解
读Linux内核中的vsprintf函数的时候遇到了C语言的可变参数调用,查了挺多资料还是这篇比较详细,而且自己验证了下,确实如此(一)写一个简单的可变参数的C函数 下面我们来探讨如何写一个简单的可变参数的C函数.写可变参数的 C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg转载 2016-03-11 11:08:39 · 798 阅读 · 0 评论 -
BasicExcel 中文路径问题
load 函数加载中文路径失败问题解决方法:CString m_csDeviceFile("E:\\新建文件夹\\1.xls");std::string xlsFileName;WToM(m_csDeviceFile, xlsFileName);//自己实现的WideCharToMultiBytestrncpy(buf, xlsFileName.c_str(), xlsFi原创 2016-09-12 18:46:26 · 1459 阅读 · 0 评论 -
C++ IPv4与IPv6的兼容编码
这里不再对IPv6 socket相关编程的基础知识进行讲解,只提供一个IP协议无关的服务端和客户端的代码,仅供参考。服务端代码:[cpp] view plain copy #include #include #include #include #include #include #include #include using转载 2016-12-24 15:01:13 · 528 阅读 · 0 评论 -
判断点是否在多边形内(第二篇)
判断点是否在多边形内的算法和C语言程序判断点是否在凸多边形内,有多种方法,方法简单,计算速度也快。但实际问题中遇到的多边形不一定是凸多边形,它可能是凹多变形,或几何形状复杂如同迷宫般的多边形。判断一个点在多边形内或多边形外,比较可靠,也容易理解的方法是射线法。射线法,把多边形理解为一个有围墙的大院,一个人从院外越过一道墙,他就进了大院,如果他再越过一道墙,就出了大院转载 2017-05-09 11:47:45 · 621 阅读 · 0 评论 -
老生常谈,正确使用memset
原文转自:http://blog.csdn.net/my_business/article/details/40537653前段项目中发现一个问题,程序总是在某个dynamic_cast进行动态转换时出异常,查了半天才发现问题原来是出在memset的使用上,虽然问题本身显而易见,但当处于几十万行代码量级中时,就变得不太那么容易定位了。本文归纳了下使用memset几个需要注意的地方,虽然转载 2017-06-17 11:50:47 · 2493 阅读 · 0 评论 -
C语言字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数转载 2017-06-26 11:14:42 · 405 阅读 · 0 评论