易截截图软件、单文件、免安装、纯绿色、仅160KB

realview MDK C/C++ 混合编程问题(续一)

    前几天写了关于Keil与C/C++混合编程的若干问题,今天写的是继续前面的。
   
    在使用C/C++混合编程的时候,程序运行到类里面的虚拟函数时死掉,查看其vptr值为0x00000000,这时候不知道怎么解决,后来自己编了一个实例程序可以通过,发现vptr的值是在__main里面的 __rt_lib_init函数初始化的。这是用于初始化C库的函数,(我没有用常规的汇编跳转到__main,然后跳到用户的main函数,所以导致没有执行 __rt_lib_init,最终导致我的类里面的虚拟函数无法运行)。
   
    现在解决问题就很明显了在我的C程序里面添加 __rt_lib_init(0x0,0x0);就OK了。
接下来又有一个问题,编译的时候提示:__use_no_semihosting_swi was requested ,but __sys_command_string was referenced.
    搞了好久才发现我的代码里面有:#pragma import(__use_no_semihosting_swi),我都不知道什么时候添加进去的,立马注释掉,一下子就可以编译通过了!


相关文档:

linux C gbk utf 8编码转换

用linux C 下的函数调用创建中文目录、文件等,字符串的编码格式要求是utf-8格式的。
比如想要使用 int mkdir(const char *pathname, mode_t mode); 创建一个中文的目录。那么pathname的编码格式要求是utf-8的,而不能是gb3212/gbk的,否则就是乱码。
那么如果linux C下如何进行gbk<---->utf-8编码转换的编码装换的 ......

企业中感受C/S和B/S的异同

当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展强大动力,其地位越来越重要。但 ......

sizeof面试题选 Linux C编程实战

   结构体和共用体的内存分配是C语言的一个难点,也是面试题中的热点。
示例1:
   Union data1
 {
  double  d;
  int     i;
  char    c1;
  char    c2[9]; 
 };
  sizeof(union data1 ......

如何学习linux下的c/c++编程

我计划的学习历程:
1. c和c++的基础知识,这个和操作系统无关,在windows上也可以学。c语言语法相对简单一点,c++不需要把所有的知识点都学会,要知道基本的封装,继承,多态之类的,还有STL。更深入的学习应该是在以后的工作中遇到问题了再去查资料。
2. 看书《APUE》,做书上的习题,掌握文件,系统调用,线程、进程、 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号