摘要: 今天把博客搬到CSDN博客,http://blog.csdn.net/gjhqq,谢谢! 阅读全文
posted @ 2013-05-06 14:01 gjhqq 阅读(120) 评论(0) 推荐(0)
摘要: 下面代码在i386系列PC中输出是什么: 1 typedef struct st{ 2 int xxx; 3 short* yyy; 4 char ccc[32]; 5 }pst; 6 7 int main(void){ 8 pst ppp[16]; 9 char* p = (char*)(ppp[2].ccc+32);10 printf("%d\n",(p-(char*)(ppp)));11 }分析:求的是什么? p是一个地址,ppp也是一个地址,两者相减,明显求的是偏移量。 现在先来看看sizeof(pst)的值,在i386系列PC下,i... 阅读全文
posted @ 2013-04-26 09:39 gjhqq 阅读(146) 评论(0) 推荐(0)
摘要: 1、what will happen after running this program? 1 #include <iostream> 2 using namespace std; 3 4 void getMemory(char *p, int num){ 5 p = (char*)malloc(sizeof(char)*num); 6 } 7 8 int main(void){ 9 char* str = NULL; 10 getMemory(str,100);11 strcpy(str,"hello");12 cout<<str<< 阅读全文
posted @ 2013-04-02 10:50 gjhqq 阅读(305) 评论(0) 推荐(0)
摘要: 堆Heap:是大家的共有空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆是操作系统对进程进行初始化的时候分配,运行过程中也可以向系统申请额外的堆,但是用完了要记得还给操作系统,不然就是内存泄露。堆里面放的一般是静态数据,如static数据、字符串常量等,资源加载后一般也放在堆里面。一个进程的所有线程共有这些堆,所以对堆操作要考虑同步和互斥的问题。程序里面编译后的数据段都是堆的一部分。 栈Stack:是单个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈相互独立,所以,栈是thread safe的。每个C++对象的数据成员... 阅读全文
posted @ 2013-04-01 14:18 gjhqq 阅读(216) 评论(0) 推荐(0)
摘要: 安装ubuntu: 作为一个linux菜鸟级新手,我曾因为安装ubuntu重装过几次系统,曾弄坏过一个笔记本硬盘,唉,不说这些了,说的都是泪啊。。 1、在ubuntu官网下载一个desktop的ISO,我这里用的是“ubuntu-10.04.4-desktop-i386.iso”,这个版本的X-windows的界面比较友好,类微软的XP系统比较多一点,容易入手,而且目前做android开发的工程师,一般都是用这个版本。 2、找一个U盘,大概有个2GB容量大小的就差不多了,通过软碟通把U盘烧录成U盘启动盘——这个部分可以百度一下软碟通教程,很多的。 3、把你的的XP/WIN7系统的某个分... 阅读全文
posted @ 2013-03-15 11:42 gjhqq 阅读(626) 评论(0) 推荐(0)
摘要: 我使用的是XP主机,并且在XP机器上安装Virtual Box 4.2.6的虚拟机,虚拟机上安装的是ubuntu 10.04 LTS系统,本来虚拟机和主机之间的数据时独立的,两者之间相互不能访问,复制,粘贴,对学习来说,有诸多不方便,所以就想着,如果能数据共享,那么问题就解决了。 1、安装增强功能包: 安装好ubuntu后,运行ubuntu并登陆,然后在VirtualBox的菜单里面选择“设备->安装增强功能”,然后按照系统提示,安装好之后,重启ubuntu。 2、重启完场后,进入“设备->共享文件夹”,设置后要共享的文件夹,并选择上自动挂载,固定分配,假如要设置的文件夹的路径是“ 阅读全文
posted @ 2013-03-11 13:49 gjhqq 阅读(211) 评论(0) 推荐(0)
摘要: 电脑的BIOS启动之后,会启用grub来引导用户进入目的系统,而启动gurb时会到/boot/grub/grub.cfg文件执行启动事宜,如果想修改默认选择系统和等待时间的话,不用改动这里,可以在/etc/default/grub这个文件修改相应内容,相应的命令是:sudo gedit /etc/default/grubsudo update-grub使用root用户去编辑 grub文件,GRUB_DEFAULT=0#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=10GRUB_DISTRIBUTOR=`lsb.. 阅读全文
posted @ 2013-03-08 11:10 gjhqq 阅读(591) 评论(0) 推荐(0)