摘要:引用类中的enum引用类中的enum,需要加类的域class_name::value_in_enum_name 点击(此处)折叠或打开#include #include class A{public:enum ee{a = 0,b,max};};class B{public:enum ee{a...
阅读全文
随笔分类 - C
摘要:类内数组声明,“类外”指定大小 using namespace std; class Age{ public: static const int Value = 10; static const int ages[]; }; ...
阅读全文
摘要:SQLite/嵌入式数据库的项目要么不使用数据库(一两个文配置文件就可以搞定),要么就会有很多的数据,用到 postgresql,操练sqlite的还没有。现在我有个自己的小测试例子,写个数据库对比的小项目例子,我就准备把数据存储在sqlite上,第一 数据不是很大,百位级别;为桌面应用软件,嵌入式...
阅读全文
摘要:linux 怎么使用一个c/c++库使用一个库,库有动态和静态之分。静态库只要能够编译通过,运行时就没有提示缺少这个库可能,因为把这个库就是这个使用者的一部分了。动态库。两部分。1 库信息的注册主要是名字,其次有运行时到哪里找,找到后加载到什么位置。在编译部分完成,通常做法使用 -lxxx 参数参数...
阅读全文
摘要:linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可。即是/lib/modules/`uname -r`/build -> /usr/src/kernels/`uname -r`指定。在yum中,如果直接运行 yum install kernel-...
阅读全文
摘要:gcc -D 传值给代码,默认值为1-D 参数可以给代码中的宏打开一扇门。简单的代码#include #ifdef WHO#define NAME "joel"#elif WHO_NO#define NAME "no name"#else#error no mane#endifint main()...
阅读全文
摘要:error: /usr/include/stdio.h: Permission denied 的一种情况分析代码:#include int main(){printf ("hello long size %d\n",sizeof(long));}很简单,测试是否能够编译通过对比在root的用户下编译...
阅读全文
摘要:C 文件直接包含有一部分代码很大,在很多函数中重复,可以直接写在另外的一个文件中,引用时直接包含。co.cpp两个函数都 包含c1.cxx。 点击(此处)折叠或打开////// co.cpp#include #include void f1(int i){int a;#i...
阅读全文
摘要:c 有意思的数组初始化#include int main(){int i = 0;char a[1024];char a0[10] = {};char a1[10] = {1};char a2[10] = {1,};char a3[10] = {1,1};for(i=0; i< 1024; i++...
阅读全文
摘要:内核编程实例,多文件的Makefile经典的hello word测试////#cathello.c#include#include#includestaticint__init hl_init(void){printk("Hello,World! init\n");return 0;}static ...
阅读全文
摘要:c friend -- 友元 友元用于突破protected 或者 private 保护的限制,首先要做的是在被访问者的类中声明是友元函数或者友元类。代码如下 #include <iostream> using namespace std; class Square{ private: int si
阅读全文
摘要:address_space 从哪里来这两天想弄清楚linux的内存分配,忽然看到了address_space,就想弄明白。整个内核就见到 address_space(1)和address_space(2)在这个文件里出现。include/linux/compiler.h: # define __us...
阅读全文
摘要:引用与指针引用是C 中的概念,初学者容易把引用和指针混淆一起。一下程序中,n是m的一个引用(reference),m是被引用物(referent)。int m;int &n = m;n相当于m的别名(绰号),对n的任何操作就是对m的操作。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。...
阅读全文
摘要:PAGE_OFFSET 首先看看PAGE_OFFSET的功能内存映射|用户空间 | 内核空间 ||——————+——————+——————+———————|物理 A:0 1G B:3G C:4GB: 定义为PAGE_OFFSET 0-1G:和内...
阅读全文
摘要:io端口***********************************************************io端口设备访问流程为----------------------------------------------------------- 1 request_region...
阅读全文
摘要:一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的...
阅读全文
摘要:c 正则-------------------------------------------------- 标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expre...
阅读全文
摘要:使用CUNIT测试 一:概述CUnit是一个c语言的单元测试框架,它是以静态链接库的形式,连接到用户代码中的,主要的功能就是提供了语义丰富的断言和多种测试结果输出接口,可以方便地生成测试报告。但是需要注意的地方是,由于Cunit和我们的代码是在同一个项目中,所以,需要注意将测试代码和程序代码进行区...
阅读全文
摘要:减少可执行程序size的三个常用软件linux下面,直接用strip 这个命令 #:strip xxx 可以去掉编译调试信息和各种符号表,能够大大减小可执行程序sizewindows下面这种exe压缩工具就很多,做破解,逆向的研究比较多 upx,下载地址 http://upx.sourceforg...
阅读全文
摘要:C 语言中的变量为什么不能以数字打头?C 语言中的变量为什么不能以数字打头?不要告诉我编译原理书上有。我暂时看不懂。除了下面的解释外,“假如变量名允许以数字开头的话,那么语法分析器在解析一个全部为数字的字串的时候,就无法判断它是一个数字常量还是一个变量名了”还有别的解释吗?假如变量是2n呢?也可以和...
阅读全文
浙公网安备 33010602011771号