易截截图软件、单文件、免安装、纯绿色、仅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),我都不知道什么时候添加进去的,立马注释掉,一下子就可以编译通过了!


相关文档:

第一章 C指针概念

声明:本文转载自互联网
一、指针的类型
二、指针所指向的类型
三、指针的值或指针所指向的内在区
四、指针本身所占据的内在区
1.指针的类型:
从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就
是这个指针的类型。这是指针本身所具有的类型。让我们看看以下各个指针的
类型:
(1)int *ptr ......

linux内核启动过程——基于S3C2410

(1)zImage自解压
本文以流行的Samsung公司的S3C2410,mini2440平台和linux-2.6.29为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。
Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何 ......

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号