Debug C
First Snowflakes
捡贝壳
展开
-
调试工具们
linux 调试工具:GDB,valgrind ,strace 、 ltrace和网络有关的工具:netstat 、tcpdump。----在linux下开发更能锻炼计算机能力。windows:purify 、straceNT、filemon原创 2020-10-23 08:07:35 · 130 阅读 · 0 评论 -
ASCII编码与Unicode编码
ASCII码一个字节(Byte)有8个二进制位,有256种状态,每种状态对应一个符号,就是256个符号,从00000000到11111111。计算机诞生于美国,早期的计算机使用者大多使用英文,上世纪60年代,美国制定了一套英文字符与二进制位的对应关系,称为ASCII码,沿用至今。ASCII码规定了128个英文字符与二进制的对应关系,占用一个字节(实际上只占用了一个字节的后面7位...原创 2020-03-15 21:46:28 · 2008 阅读 · 0 评论 -
#include 头文件的顺序导致的编译问题
某日,在调用第三方库的时候遇到了如下问题:第三方软件商提供了一个头文件,xxx.h,其中使用到了windows的HMODULE类型,但是xxx.h中并没有include wondows.h。同时,第三方软件上提供了一个demo,其使用到了xxx.h:#include <windows.h> ---line 1#include <xxx.h> -...原创 2020-03-15 21:10:39 · 1378 阅读 · 0 评论 -
switch - case 中不能定义变量 的解决办法
在case中加上{}括起来,限定一下作用域。E.g:switch(){ case: xxx{ break; }}知乎讨论:https://www.zhihu.com/question/230516851)不能跳过的不是变量的定义,而是初始化。把int ival改成int ival=0;则不会编译通过;...原创 2020-03-08 21:46:44 · 5705 阅读 · 1 评论 -
头文件相互包含导致 error C2504 base class undefined---- #pragma once
乌合之众!我的例子:ClassA.h#pragma once#include "ClassB.h"class ClassA{public: ClassA(); ~ClassA(); int a;};Cla...原创 2019-11-03 22:00:21 · 365 阅读 · 1 评论