![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
幸福摩天轮
这个作者很懒,什么都没留下…
展开
-
关于#ifdef编译选项的使用
最近在coding的时候经常需要对以前的版本反复修改测试,其中要对一大段代码需要重用和不用,很简单的做法当然是直接采用/*..*/注释掉,不过这样很麻烦(因为以后对版本进行修改测试时,有可能又需要用到这段注释代码)。而且有的时候采用/*..*.可能导致注释嵌套,不好判断。 而采用#ifdef的话,可以省去很多事情。 (1):#if 0的使用 代码:原创 2012-06-01 17:32:49 · 2791 阅读 · 0 评论 -
#define中的 #与##
在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。 例子:#include #define paster(n) printf("token"#n"=%d\n",token##n)int main(){ int token9=10; paster(9); getchar();转载 2013-06-14 16:07:59 · 535 阅读 · 0 评论 -
extern与static
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常转载 2013-06-14 13:10:17 · 586 阅读 · 0 评论 -
Android中C++调用Java实现
1:需求分析 在Android中利用NDK进行编程的时候,一般的都是Java层通过JNI调用C++的相关接口,而在有的应用中,需要通过底层C++调用Java层来实现相关功能。比如在进行OMX硬解码画图的时候,需要在底层不断发送请求给Java层,让其不断刷新GlSurfaceView。 2:java层接口 a://弹出消息对话框 public stat原创 2013-03-25 21:56:38 · 7092 阅读 · 0 评论 -
指针数组、数组指针联系和区别
所谓指针数就是存储指针的数组,数组指针即指向数组的指针,前者是数组结构,后者是指针结构。 (1)int a[10] 存储int类型的数组,其容量为10 (2)int *a[10] 存储指向int类型指针的数组,其容量为10,注意“[]”的优先级高于“*”,因此a优先跟[]结合,形成数组。 (3)int (*a)[10] 指向存储10个int类型的数组的指针,注意,“()”优先级高于原创 2013-04-07 21:12:37 · 556 阅读 · 0 评论 -
this指针基础介绍
转自:http://www.cnblogs.com/uniqueliu/archive/2011/09/24/2189545.html=================this指针的由来====================一个学生可以有多本书一样,而这些书都是属于这个同学的;同理,如果有很多个同学在一起,那么为了确定他们的书不要拿混淆了,最好的办法我想应该就是每个同学都在自己的书上写上转载 2013-04-08 10:08:46 · 749 阅读 · 0 评论 -
cdecl、stdcall、fastcall函数调用约定区别
论函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保转载 2013-04-07 15:05:38 · 540 阅读 · 0 评论 -
C/C++定义全局变量/常量几种方法的区别
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非常的转载 2013-03-31 16:49:19 · 467 阅读 · 0 评论 -
浅谈C++中const成员和非const成员的联系和区别
C++中我们经常会碰到const数据成员和const成员函数,他们在使用方面跟非const数据成员和非const成员函数有很大的区别,这里根据自己的经验,谈一下自己看法,如有错误,请大家指教: (1):在赋值方面,const数据成员只能采用初始化列表方式,而非数据成员可以采用初始化列表和构造函数体内赋值两种方式。 class Test {原创 2013-03-30 15:38:21 · 807 阅读 · 0 评论 -
UNIX环境高级编程 apue.h编译文件配置
最近在学习UNIX环境高级编程,看到第一个关于ls的demo,看到头文件#include "apue.h",就打定程序肯定是编译不过了,而是上下求索,将所需的文件和库配置了一番,第一个demo成功编译通过。其基本的配置步骤如下: (1):首先找源代码 网址:http://www.apuebook.com/, 我用的是第二版(2005版本),点进去下载sourcecode即可。下载压缩文件原创 2013-07-29 18:00:27 · 1101 阅读 · 0 评论