随笔分类 -  C/C++

摘要:网络字节序通常为大端。 主机字节序和网络字节序相互转换:htons() htonl() ntohs() ntohl() 阅读全文
posted @ 2016-04-18 19:41 LarryKnight 阅读(155) 评论(0) 推荐(0)
摘要:#define SECTION_QUERY 0x0001 #define SECTION_MAP_WRITE 0x0002 #define SECTION_MAP_READ 0x0004 #define SECTION_MAP_EXECUTE 0x0008 #define SECTION_EXTEND_... 阅读全文
posted @ 2016-04-15 22:30 LarryKnight 阅读(484) 评论(0) 推荐(0)
摘要:类的静态成员不能由类的构造函数来初始化。因为即使不存在类的任何对象时,类的静态成员依然存在并且可以被使用。类的静态成员也不能访问任何类的非静态成员。 类名和类对象都可以直接调用静态数据成员。因为静态数据成员在执行构造函数之前都已经存在了。 但如果静态成员是整型或是枚举型const,则可以在类声明中初 阅读全文
posted @ 2016-04-14 15:17 LarryKnight 阅读(447) 评论(0) 推荐(0)
摘要:在NT/2K/XP中,操作系统利用虚拟内存管理技术来维护地址空间映像,每个进程分配一个4GB的虚拟地址空间。运行在用户态的应用程序,不能直接访问物理内存地址;而运行在核心态的驱动程序,能将虚拟地址空间映射为物理地址空间,从而访问物理内存地址。 如果要在应用程序中以物理地址方式访问内存,自然而然的办法 阅读全文
posted @ 2016-04-14 10:18 LarryKnight 阅读(379) 评论(0) 推荐(0)
摘要:OSVERSIONINFO结构 OSVERSIONINFO结构包含了操作系统的版本信息,包括操作系统的主版本号、副版本号、创建号、以及操作系统平台ID号和关于操作系统的其他描述信息。其定义为: typedef struct _OSVERSIONINFO{ DWORD dwOSVersionInfoS 阅读全文
posted @ 2016-04-13 20:49 LarryKnight 阅读(762) 评论(0) 推荐(0)
摘要:Linux下: #include <unistd.h> sleep(1); // 睡眠1秒 usleep(1); // 睡眠1微妙 阅读全文
posted @ 2016-04-01 20:46 LarryKnight 阅读(162) 评论(0) 推荐(0)
摘要:传递多组参数: 阅读全文
posted @ 2016-03-30 21:11 LarryKnight 阅读(852) 评论(0) 推荐(0)
摘要:Segmentation fault (core dumped) 一般由内存操作不当造成: 1. 数组超出范围 2. 访问时越界或指向了系统空间 3. 修改了只读内存 解决方法: 1. gdb调试 2. 递归函数中尽量不要申请较大的内存 3. 动态申请内存;养成释放内存的习惯 阅读全文
posted @ 2016-03-21 15:34 LarryKnight 阅读(368) 评论(0) 推荐(0)
摘要:用gcc编译 c++ 程序时,出现错误 undefined reference to __cxa_guard_acquire linker error, 但是用icc可以正常编译, 问题出在static 上。从网上搜到的解决办法是加库的链接: To resolve this undefined re 阅读全文
posted @ 2016-03-17 02:59 LarryKnight 阅读(2741) 评论(0) 推荐(0)
摘要:一、 三种类型的套接字:1.流式套接字(SOCKET_STREAM) 提供面向连接的可靠的数据传输服务。数据被看作是字节流,无长度限制。例如FTP协议就采用这种。2.数据报式套接字(SOCKET_DGRAM) 提供无连接的数据传输服务,不保证可靠性。3.原始式套接字(SOCKET_RAW) 该接口允 阅读全文
posted @ 2016-02-26 22:57 LarryKnight 阅读(6305) 评论(0) 推荐(2)
摘要:整体规划:问题的定义:工具或程序需要实现什么或者能做出哪些事情;软件架构设计:设计一些功能模块,使每个模块各司其职,功能独立、健全;软件详细设计:具体设计每个模块的输入参数、输出数据和返回值,以及怎样实现其功能;软件的构建:编码软件的优化:完善各功能模块的代码效率、编码规范、参数检查、异常检测、错误... 阅读全文
posted @ 2015-11-28 11:03 LarryKnight 阅读(375) 评论(0) 推荐(0)
摘要:在函数中动态申请内存(虚拟内存,堆),利用指针返回值指向申请的内存。 阅读全文
posted @ 2015-11-28 10:57 LarryKnight 阅读(211) 评论(0) 推荐(0)
摘要:Linux顶层目录结构:/ 根目录├── bin 存放用户二进制文件├── boot 存放内核引导配置文件├── dev 存放设备文件├── etc 存放系统配置文件├── home 用户主目录├── lib 动态共享库├── lost+found 文件系统恢复时的恢复文件├── media 可卸... 阅读全文
posted @ 2015-11-06 10:31 LarryKnight 阅读(194) 评论(0) 推荐(0)
摘要:类型 32位 64位 char 1 1 short 2 2 int 4 4 long 4 8 指针 4 8 float 4 4 double 8 8 long 8 8 常用的基本类型数据 阅读全文
posted @ 2015-11-02 23:00 LarryKnight 阅读(220) 评论(0) 推荐(0)
摘要:操作系统中的状态分为管态(核心态)和目态(用户态)。 系统调用(System call):是可直接进入内核的入口点。由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)。是应用程序和系统之间的接口。 库函数 阅读全文
posted @ 2015-11-01 23:21 LarryKnight 阅读(314) 评论(0) 推荐(0)
摘要:char *fgets(char *buf, int bufsize, FILE *stream); 从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufs 阅读全文
posted @ 2015-10-31 21:24 LarryKnight 阅读(231) 评论(0) 推荐(0)
摘要:void* memset(void *s, int ch, size_t n); 将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值。 例如:memset(lpMyStruct, 0, sizeof(MyStruct));初始化结构体。void *memcpy(void ... 阅读全文
posted @ 2015-04-30 09:35 LarryKnight 阅读(430) 评论(0) 推荐(0)
摘要:二维数组定义: 一般形式:类型说明符 数组名[常量表达式1][常量表达式2] int a[2][3]; 用C++ STL的vector定义: vector > Array( 2, vector(0) ); //定义行数为2 for(int i=0; i a[0] ; *(... 阅读全文
posted @ 2015-04-09 20:34 LarryKnight 阅读(310) 评论(0) 推荐(0)