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

对C宏定义的小小实践

用宏实现一个swap功能
#include <stdio.h>
#include <stdlib.h>
#define SWAP( TYPE,ARG1,ARG2 ) \
void TYPE##Swap( TYPE *p, TYPE *q ) \
{ \
TYPE tmp = *p; \
*p = *q; \
*q = tmp; \
} \
TYPE##Swap(&ARG1,&ARG2);
int main()
{
int a = 1;
int b = 2;
char c = 'c';
char d = 'd';
SWAP(int,a,b);
printf("a:%d,b:%d\n",a,b);
SWAP(char,c,d);
printf("c:%c,d:%c",c,d);
}


相关文档:

C bulider计算器初步

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
int   flag=0; // ......

GNU C __attribute__ 机制简介

摘要:
在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关
__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__
相关语法及其使用。
---------------------------------------------------------
声明:
  此文为原创,欢迎转载,转载请保留如下信息
& ......

C/C++中动态链接库的创建和调用

转自:http://dev.yesky.com/12/3067012.shtml
动态连接库的创建步骤:
  一、创建Non-MFC DLL动态链接库
  1、打开File —> New —> Project选项,选择Win32 Dynamic-Link Library —>sample project
  —>工程名:DllDemo
  2、新建一个.h文件DllDemo.h
以下是引用片段: ......

extern extern “C”

extern是C/C++语言中表明函数和全局变量作用范围(可见性).
它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。
1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误
2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号