C/C++
独角鲸
这个作者很懒,什么都没留下…
展开
-
C key word restrict。
c99中新增加了一个类型定义,就是restrict。restrict的定义是It can be applied only to pointers, and it indicates that a pointer is the sole initial means of acces转载 2011-07-12 21:51:48 · 1245 阅读 · 0 评论 -
C++前置说明的理解
刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,转载 2013-06-20 11:18:33 · 760 阅读 · 0 评论 -
函数fopen
函数fopen函数简介函数功能:打开一个文件函数原型:FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s[1],_wfopen所需库:stdio.h>返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。一转载 2013-03-21 15:44:07 · 663 阅读 · 0 评论 -
解开 JFFS2 文件系统镜像
解开 JFFS2 文件系统镜像在 mtd-utils 里边有 mkfs.jffs2 和 jffs2dump. 那个 mkfs.jffs2 用来把一堆输入文件打成一个 JFFS2 文件系统的镜像文件, jffs2dump 可以显示一个镜像文件里边各个文件的各个 inode 的信息. --- 但是没有一个程序可以直接把镜像文件解开, 把里边的文件提取出来.可以先把镜像文件挂载到一个目录上,转载 2013-02-04 10:13:01 · 2070 阅读 · 0 评论 -
函数指针的强制转换用法
现单列复位部分如下: main() { unsigned char code rst[]={0xe4,0xc0,0xe0,0xc0,0xe0,0x32}; // 复位代码 (*((void (*)())(rst)))(); // 执行上一行代码,将rst数组当函数调用 } 本来我告诉他嵌入如下代码: clr a push acc转载 2012-11-20 10:05:09 · 803 阅读 · 0 评论 -
Alignment trap 解决方法
前几天交叉编译crtmpserver到arm9下。编译通过,但是运行的时候,总是提示Alignment trap,但是并不影响程序的运行。这依然很令人不爽,因为不知道是什么原因引起的,这就像一颗定时炸弹一样,一定要解决。 修改makefile,加入-ggdb,去掉编译优化,重新编译。编译完毕,在gdb下运行,依然提示Alignment trap,并且gdb没有任何反应。按照设想,操作转载 2012-07-19 18:20:16 · 6134 阅读 · 0 评论 -
C++编程命名规范
转自:http://blog.csdn.net/huayehanshan/archive/2009/02/03/3860363.aspx在软件开发过程中,代码的命名规范是一项很突出的内容。一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。据考证,没有一种命名规则可以让所有的程序员都满意,程序设计教科书一般也不会指定命名规则。但是制定一套令开发组成员基本满意的命名转载 2012-04-04 10:54:32 · 2578 阅读 · 0 评论 -
linux 动态库 _dso_handler 的问题
解决方法: (CROSSCOMPILE)ld --> (CROSSCOMPILE) g++ (gcc) -shared -fPIC 即可原创 2012-03-07 10:59:46 · 664 阅读 · 0 评论 -
linux 静态库的链接 undefined reference
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)转载 2012-02-22 22:35:17 · 8077 阅读 · 3 评论 -
可视化 调用过程
可以将以图形形式查看应用程序的调用过程看作是一个学习经历。这样做可以帮助您理解应用程序的内部行为,并获得有关程序优化方面的信息。例如,通过对那些经常调用的函数进行优化,您就可以用最少的努力来获得最佳的性能。另外,调用跟踪还可以判断用户函数的最大调用深度,这可以用来对调用栈使用的内存进行有效限制(在嵌入式系统中,这是非常重要的一个考虑因素)。为了捕获并显示调用图,您需要 4 个元素:GNU 编译转载 2012-02-23 09:46:09 · 818 阅读 · 0 评论 -
STLport 交叉编译(arm)
Ver : STLport-5.2.1 Compiler : GNU gcc 4.3.2 for ARM 1. 确保ARM编译成功安装,并配置好环境变量。 2. 解压STLport-5.2.1.tar.gz压缩包 3. 进入STLport-5.2.1目录,执行./configure --target=arm-linux 4. 修改stlport/stl/_cstd转载 2012-02-04 17:36:40 · 1782 阅读 · 0 评论 -
boost 交叉编译(arm)
Boost Ver: 1.48.0Compiler : GNU gcc 4.3.2 for ARM 1. 确保ARM编译成功安装,并配置好环境变量。 2. 解压boost压缩包 3. 进入目录执行./bootstrap.sh, 此时形成bjam文件和project-config.jam 4. 编辑project-config.jam, 仅修改using gcc这行。因为我使转载 2012-02-04 16:40:46 · 3701 阅读 · 0 评论 -
如何软件优化?
1. 优化的三条规则: 1) 首先能够工作 2) 从用户的角度出发 3) 保持代码的易读性原创 2012-02-06 10:12:18 · 806 阅读 · 0 评论 -
"\r" 和 "\n"
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一转载 2014-03-27 16:11:04 · 1034 阅读 · 0 评论