函数指针在linux和win上的一个区别
来源:互联网 发布:淘宝客开发者平台 编辑:程序博客网 时间:2024/05/22 17:53
函数指针在linux和win上的一个区别
linux编译器 gcc
win编译器 vc2005
#include <stdio.h>
#include <stdlib.h>
void (*f)(int);
void (*g())(int)
{
return f;
}
#define NO_INT (void (*)())0
#define HAS_INT (void (*)(int))0
void c()
{
}
void d(int g) //win上可以不写出参数名字g,linux上必须写出,否则编译不过
{
}
int main()
{
printf("func ptr f value is :0x%x\n", (int)f);
printf("func ptr g value is :0x%x\n", (int)g);
//在windows上编译报错,提示类型不匹配
//在linux不会提示报错
//if ( g() == NO_INT)
// {
// printf("compile pass!\n");
// }
// f = c;
f = d;
if ( g() == HAS_INT)
{
printf("compile pass!\n");
}
//linux无此命令
system("pause");
}
linux编译器 gcc
win编译器 vc2005
#include <stdio.h>
#include <stdlib.h>
void (*f)(int);
void (*g())(int)
{
return f;
}
#define NO_INT (void (*)())0
#define HAS_INT (void (*)(int))0
void c()
{
}
void d(int g) //win上可以不写出参数名字g,linux上必须写出,否则编译不过
{
}
int main()
{
printf("func ptr f value is :0x%x\n", (int)f);
printf("func ptr g value is :0x%x\n", (int)g);
//在windows上编译报错,提示类型不匹配
//在linux不会提示报错
//if ( g() == NO_INT)
// {
// printf("compile pass!\n");
// }
// f = c;
f = d;
if ( g() == HAS_INT)
{
printf("compile pass!\n");
}
//linux无此命令
system("pause");
}
- 函数指针在linux和win上的一个区别
- 一个复杂的声明,包含数组指针,指针数组,函数指针和指针函数的区别
- c 在win 下 和在 ubuntu下 细节上的几点区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 新官上任
- Android 系统自带样式Android:theme
- 旅行,写作,编程
- JProfiler 使用说明
- 浅析Java抽象类和接口的比较
- 函数指针在linux和win上的一个区别
- 好书推荐
- 用人所长,容人所短
- spring web.xml中的配置
- 【系统基础】open函数
- 如何使用iptalbes设置NAT
- 数据库SQL
- 写在2011岁末
- PHP 缩放图片