自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

halazi100

总结分享,共同进步

  • 博客(28)
  • 资源 (5)
  • 收藏
  • 关注

原创 indent工具自动统一格式化代码风格

indent工具自动统一代码风格:indent -gnu style.c -o style_gnu.c                                        //变成gnu风格indent -kr -i8 style.c -o style_kernel.c                        //变成内核风格两大风格:GNU编程风格->http

2015-05-28 14:10:08 2026

原创 Source insight 去掉^M

用sourceinsight默认设置,修改代码提交到git服务器上可能会造成代码对不齐,每行末尾有^M的情况。可以做如下设置解决这类问题。在 “Options->Preferences->Files”, 设置“Default File Format” to “UNIX(LF)”,这样在git服务器上的代码每行最后就不会出现^M了sourceinsight默认的文件结尾符是windown

2015-05-27 10:45:50 9355

原创 19-#pragma

#pragma预处理#pragma是编译器指示字,用于指示编译器完成一些特定的动作#pragma所定义的很多指示字是编译器和操作系统所独有的#pragma在不同的编译器间是不可移植的    预处理器将忽略它不认识的#pragma指令    两个不同的编译器可能以两种不同的方式解释同一条#pragma指令一般用法:    #pragma parameter注:不同的p

2015-05-26 10:53:59 503

原创 18-#error.#line

自定义编译错误信息#error的用法#error用于生成一个编译错误消息,并停止编译用法:    #error message注意:message不需要用双引号包围#error编译指示字用于自定义程序员特用的编译错误消息类似的,#warning用于生成编译警告,但不会停止编译#include #define CONST_NAME1 "CONST_

2015-05-26 10:53:20 349

原创 20-#_##

#运算符用于在预编译期将宏参数转换为字符串#include #define CONVERS(x) #xint main(){    printf("%s\n", CONVERS(Hello world!));    pritnf("%s\n", CONVERS(100));    printf("%s\n", CONVERS(while));    printf("

2015-05-26 10:53:02 418

原创 17-conditional_compilation

条件编译条件编译的行为类似于C语言中的if...else条件编译是预编译指示命令,用于控制是否编译某段代码/* #define C 1 */int main() {    #if (C == 1)        printf("This is 1st printf ...\n");    #else        printf("This is 2nd prin

2015-05-26 10:51:04 407

原创 14-priority_typeconversion

#include #include typedef struct _demo {    int* pInt;    float f;} Demo;int func(int v, int m) {    /* return (v & m != 0); //v & (m != 0) */    return ((v & m) != 0);}int main()

2015-05-26 10:50:35 380

原创 16-macro

宏定义宏常量#define定义宏常量可以出现在代码的任何地方;#define从本行开始,之后的代码都可以使用这个宏常量#define ERROR    -1#define PI        3.14#define PATH_0 "D:\delphi\c.ppt"#define PATH_1 D:\delphi\c.ppt#define PATH_3 D

2015-05-26 10:50:08 411

原创 13-++.--

++,--int i = 3;(++i) + (++i) + (++i); 你有必要这么写吗?在C语言里面这是一个灰色地带,C语言规范里面只定义了++操作,但也没有规定这样的表达式如何计算;每一种编译器的都有自己的处理方式;int x = 3;int k = (++x, x++, x+10);从左到右顺序求值,然后把最后一个表达式的值作为逗号表达式的结果;前

2015-05-26 10:49:48 351

原创 15-compilation_process

编译预处理被编译器隐藏的过程:file.c + file.h ->    预处理器cpp(删除注释,展开宏等) ->    file.i ->    编译器gcc ->    file.S (汇编代码) ->    汇编器as ->    file.o ->    连接器linker(链接libc.a lib.so等) ->    file.out

2015-05-26 10:49:36 480

原创 11-logical_operation_symbol

逻辑运算符使用逻辑运算符&&,||和!#include int main() {    int i = 0;    int j = 0;    if ( ++i > 0 || ++j > 0 ) {        printf("%d\n", i); //1        printf("%d\n", j); //0    }    return 0

2015-05-26 10:48:30 395

原创 12-bit_operation

位运算符在C语言中的位运算符    &    按位与     |    按位或    ^    按位亦或        >>    右移    ~    按位取反(单目运算符)结合律 a&b&c (a&b)&c a&(b&c)交换律 a&b b&a左移和右移注意点左移运算符右移运算符>>把运算数的二进制位右移,高位补符号位,低位丢弃;

2015-05-26 10:47:36 409

原创 10-quotation

单引号与双引号#include int main(){    char* p1 =  1 ;    char* p2 = '1';    char* p3 = "1";    printf("%s, %s, %s", p1, p2, p3); //段错误    printf('\n'); //段错误;    printf("\n");    return

2015-05-26 10:45:12 402

原创 08-annotate

C语言中的符号,.;:?'"()[]{}%^&~-高手五招胜有招,akari.c,C语言国际混乱大赛最佳展示奖下面哪些注释是正确的    1 int/*...*/i;    2 char *s="adcdefgh    //hijklmn";    3 //Is it a \       valid comment?    4 in/*...*/t i;

2015-05-26 10:43:42 349

原创 09-slash_backslash

续行符C语言中的续行符(\)是指示编译器行为的利器#def\ine MAX\255int main(){/\这是\\注释i\n\t\ *\ p\= \ NULL;printf("%0X\n", p);return 0;}续行符的使用编译器会将反斜杠后面的字符自动接到前一行在接续单词时,反

2015-05-26 10:41:14 447

原创 05-const.volatile

const关键字const修饰一个只读变量在c语言中const修饰的变量是只读的,其本质还是变量,在内存中占用空间本质上const只对编译器有用,在运行时无用;在运行时可以通过一个指针改变其值;用const int cc = 1;定义变量后做左值时,将报错做右值时,        1.直接访问 int cb = cc;直接从变量表取出内容替换;        2

2015-05-26 10:40:38 381

原创 04-goto.void.extern.sizeof

遭人遗弃的goto高手潜规则:禁用goto,程序质量与goto的出现次数成反比;一般在内核模块的入口函数才会大量使用goto语句,用来处理异常;goto常常会破坏结构化程序的顺序执行;goto语句也称为无条件跳转语句,一般格式为    goto 语句标签;其中语句标签是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:);语句标签起标示语句的作用,与goto

2015-05-26 10:40:07 530

原创 07-enum.typedef

enum是一种自定义类型enum默认常量在前一个直的基础上依次+1enum类型的变量只能取定义时的离散值enum color{    green, //0    red = 2;    blue //3};enum color c = green;printf("%d\n", c);enum定义的是真正意义的常量#define宏定义的常量只是简单的进

2015-05-26 10:40:05 327

原创 06-struct.union

struct空结构体占多大内存struct D{};int main(){    struct D d1;    struct D d2;    printf("%d\n", sizeof(struct D));    printf("%d, %0x\n", sizeof(d1), &d1);     printf("%d, %0x\n", sizeof(d

2015-05-26 10:39:36 372

原创 03-if.switch.do_while.for

分支语句ifif语句用于根据条件选择执行语句else不能独立存在且总是与它最近的未配对的if相匹配else语句后可以接连其他if语句if (condition) {    //statement1;} else {    //statement2;}if (cond1) {    //statement1;} else if (cond2) {

2015-05-26 10:39:25 366

原创 02-auto.register.static

C语言中变量可以有自己的属性,在定义变量的时候可以加上属性关键字;属性关键字指明变量的特有意义;auto是c语言中局部变量的默认属性    作用就是让一个局部变量分配到栈区;    编译器默认所有的局部变量都是auto    指明变量分配在栈static关键字指明变量的静态属性    static关键字同时具有作用域限定符的意义;    static修饰

2015-05-26 10:38:48 374

原创 01-C语言基本数据类型

关键字的秘密数据类型什么是数据类型数据类型可以理解为固定内存大小的别名;数据类型是创建变量的,模子->花形的圆形的星形的等等;char    1byteshort    2byteint        4byte    内存空间    +----------+    | char c   |    +----------+    | shor

2015-05-26 10:36:24 456

转载 akari.c

高手无招胜有招奖项:Best of Show功能:处理三种文件格式(PGM、PPM和ASCII Art)的降采样工具作者:Google华裔工程师Don Hsi-Yun Yang akari.c  /* +

2015-05-20 19:41:01 575

转载 android bugreport 分析

android bugreport 分析Get Log from Android Systemadb bugreport > bugreport.txtcopy bugreport to the current directory.bugreport里面包含了各种log信息,大部分log也可以通过直接运行相关的程序来直接获得.步骤如下:1.adb shell 2.进入相

2015-05-13 20:36:14 1639

原创 .viminfo权限引起的vim无法记住上次编辑位置

让VIM记录文件上次浏览或编辑的位置 问题:当源码文件超过一个显示屏大小时,每次使用vim打开这个文件时,编辑光标总是停留在首行开始处,在反复查看/编辑文档的过程中非常不方便,要是vim能够记录文档最后一次浏览或编辑的位置该多好! 解决办法: 在~/.vimrc中加入以下内容 "让vim记忆上次编辑的位置autocmd BufReadPost * if li

2015-05-13 13:04:17 2301

转载 mkisofs命令制作iso文件

mkisofs命令行格式mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A][-b][-c][-hide][-hide-joliet][-m][-M][-o][-sysid ][-V ][-x][目录或文件]    基本参数-o 设置输出文件名-VSet Volume ID

2015-05-09 14:36:18 15530

转载 yum只下载软件不安装的两种方法

yum下载软件,不安装的方法:方法一:通过yum自带一个工具:yumdownloader[root@web1 ~]#  rpm -qa |grep yum-utils[root@web1 ~]# yum -y install yum-utils*[root@web1 ~]# rpm -ql yum-utils/usr/bin/debuginfo-install/usr/bi

2015-05-09 09:44:12 1296

转载 如何自动生成makefile

GNU make允许将一个软件项目的代码分开放在不同的源文件里,有改动的时候可以只对改动的文件重新编译,然后重新连接,这种编译管理方法提高了生成目标的效率。make要调用一个makefile文件来实现。Makefile的编写是使用make的关键问题。当工程里面包含的很多源文件,库,文件放在不同的子目录时,手动书写makefile文件不方便且容易出错。一般情况下我们用autoconf和autom

2015-05-07 17:37:27 435

AnalysePlugin-v1.12-R43-all.zip for notepad++

Features Filtering log files It is designed to treat log-files of typical size like 60MB. More features can be found in the help dialogue of the plugin. https://sourceforge.net/projects/analyseplugin/

2020-02-11

vim使用入门进阶教程

文本编辑器概述 vi编辑器简介 模式切换与使用 基本操作命令 高级功能及其他选项 配置 插件使用 文本编辑器概述 vi编辑器简介 模式切换与使用 基本操作命令 高级功能及其他选项 配置 插件使用

2015-10-30

linux应用基础学习笔记

该文献为本人自学Linux所整理笔记,可任由传播复制以承Linux开源精神,特此声明。 该文献为本人自学Linux所整理笔记,可任由传播复制以承Linux开源精神,特此声明。 该文献为本人自学Linux所整理笔记,可任由传播复制以承Linux开源精神,特此声明。

2015-10-30

git-2.6.1-32bit

git是一个功能强大的分布式版本管理系统

2015-10-12

vim完全配置包括配置文档及plugins,解压到适当位置即可

vim完全配置,包括配置文档及plugins,解压到适当位置即可;

2015-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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