C/C++ Learning

您正在查看: 随记 分类下的文章

Doxygen与Graphviz

首先,安装Doxygen和Graphviz(它提供了“点”用于绘制有向图):apt-get install doxygen graphviz 接下来,告诉Doxygen生成一个初始配置文件,然后我们可以手动修改:doxygen -g 这将导致在当前目录中生成一个新的配置文件,称为Doxyfile。然后,您可以使用自己喜欢的文本编辑器修改它。请确保将以下标志设置为指定的值:HAVE_DOT =...阅读全文

gdb调试错行排查

1、Makefile中添加或者更改编译选项-g3 -O0编译 2、文件编码utf-8 3、dos文件转化为unix vim *.c :set fileformat=unix :set ff=unix 4、dos和linux换行符转换 :%s/^M//g 其中^M 必须是同时按 Ctrl+V+M ,表示回车。不是直接输入 ^M ,那没有用的 阅读全文

do{}while(0)用法详解

1、定义复杂的宏以避免错误 do{...}while(0)在C中是唯一的构造程序,让你定义的宏总是以相同的方式工作,这样不管怎么使用宏(尤其在没有用大括号包围调用宏的语句),宏后面的分号也是相同的效果。 示例 #define foo(x) bar(x); baz(x) foo(wolf);等价于bar(wolf); baz(wolf); if(condition)foo(wolf);等价...阅读全文

ascii码表以及扩展表常见编码介绍

【参考文献】https://my.oschina.net/liting/blog/470021?p=1阅读全文

结构体中有符号及无符号位域赋值解析

程序如下#include <stdio.h> #include <stdlib.h> struct bitint { int a:2; int b:2; int c:1; }; int main() { struct bitint test; test.a = 1; test.b = 3; test.c = ...阅读全文

centos6-epel源添加

1.安装yum优先级插件yum install yum-priorities2.epel简介: https://fedoraproject.org/wiki/EPEL/zh-cnrpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.fa...阅读全文

exvim完整版使用手册(linux版本)

1、在工程目录下创建工程文件touch project.exvim project为工程名称,可任意起,支持多个不同的工程配置 一个项目中可以拥有多个 .exvim 文件,允许你在一个项目中运用不同的配置;2、编译工程vim project.exvim打开工程文件进入vim命令模式输入Update命令更新工程配置:Update初始时候ex-project窗口为空,将鼠标定位到ex-proje...阅读全文

gdb中X命令

examine命令(简写是x)来查看内存地址中的值。语法如下: x/<n/f/u> <addr> n、f、u是可选的参数。n是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果 地址是指令地址,那么格式可以是i。u 表示从当前地址往后请求的字节数,如果不指定的话,GDB...阅读全文

vim-vimtutor总结

光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。h (左移) j (下行) k (上行) l (右移)欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>欲退出 Vim 编辑器,请输入 <ESC> :q! <回车> 放弃所有改动。 或者输入 <ESC&g...阅读全文

GNU C之内存对齐

四种改变编译器默认对齐方式的方法:(1)使用伪指令#pragma pack (n),C编译器将按照n个字节对齐。(2) 使用伪指令#pragma pack (),取消自定义字节对齐方式。(3)__attribute((aligned (n))),让所作用的结构成员对齐在n字节自然边界上。如果结构中有成员的长度大于n,则按照最大成员的长度来对齐。(4)__attribute__ ((packe...阅读全文