当前位置:  技术问答>linux和unix

用C写的OO模块,碰到编译器抱怨符号多重typedef,怎么解决呢?

    来源: 互联网  发布时间:2015-11-25

    本文导语:  //头文件是: //test.h typedef void *test_t; test_t test_create(...); //建立对象 int test_use(test_t me, ...); //使用这个对象 void test_destroy(test_t *me);//销毁这个对象 //实现文件是: //test.c #include "test.h" typedef struct _test_t {   ...

//头文件是:
//test.h
typedef void *test_t;

test_t test_create(...); //建立对象
int test_use(test_t me, ...); //使用这个对象
void test_destroy(test_t *me);//销毁这个对象

//实现文件是:
//test.c
#include "test.h"

typedef struct _test_t
{
    int a;
    int b;
}*test_t; //我希望编译器能让我重定义它,可惜gcc会报错。

//以下为函数实现
test_t test_create(...){} //建立对象
int test_use(test_t me, ...){} //使用这个对象
void test_destroy(test_t *me){}//销毁这个对象


//有什么办法可以让编译器不抱怨符号多重typedef这点吗?试过#undef是不行的。

|
//头文件是:
//test.h
struct test_t;

test_t *test_create(...); //建立对象
int test_use(test_t *me, ...); //使用这个对象
void test_destroy(test_t **me);//销毁这个对象

//实现文件是:
//test.c
#include "test.h"

struct test_t
{
int a;
int b;
}; //我希望编译器能让我重定义它,可惜gcc会报错。

//以下为函数实现
test_t *test_create(...){} //建立对象
int test_use(test_t *me, ...){} //使用这个对象
void test_destroy(test_t **me){}//销毁这个对象

    
 
 

您可能感兴趣的文章:

  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 驱动模块可以编入内核,想单独编译成模块,makefile怎么写?
  • 关于如何把编译进内核的编译成模块
  • 想问一下,编译LINUX内核时,是否可以只编译其中的一个模块?
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 驱动模块编译调试问题、、????
  • 编译出来的内核模块怎么那么大
  • 如何查看编译进内核的模块
  • 编译模块的时候出现的问题
  • rndis驱动编译成内核模块
  • 将驱动模块编译进内核是否有用??
  • 如何编译内核源代码中的某一模块?
  • 编译模块的小问题
  • 为什么我编译的内核模块由300M这么大
  • 为什么apache编译后 ,没有rewrite模块?
  • apache模块静态编译问题
  • 模块编译问题!!!!!!!1
  • 模块编译问题?
  • BUS LOGIC是什么模块?编译内核在那里选?
  • 编译内核模块的问题....(急)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何访问内核模块的导出符号?
  • 模块符号表地址在386架构下为什么必须>0xb0000000
  • 关于编写内核模块导出符号的问题
  • [求教]内核加载模块后,这部分内容编译在内核里的吗? iis7站长之家
  • Linux中一个模块中的函数如何被另一个模块调用?
  • Python的MySQLdb模块安装
  • insmod模块无显示,但rmmod模块有显示
  • 传感器模块、gprs模块如何和我的2440开发板相连
  • 大侠帮忙!模块调试(非内核模块)
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • 自己写的内核模块与用户模块通信(交互)
  • 如何停止模块运行
  • 弱弱的问一个关于"模块化编程"的问题
  • 模块的安装求助
  • 模块依赖小问题,请各位大大帮忙
  • 关于rsync同步模块配置问题
  • 自定义内核模块禁止启动图形界面
  • 使用非root用户加载模块出错
  • 如何想向内核添家一个自定义的模块?
  • 关于LINUX内核模块的按需卸载及安装
  • 驱动模块断电重加载问题
  • linux内核模块间调用函数
  • 内核模块和设备驱动的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3