Linux 防止多重定义
来源:互联网 发布:linux如何查看登录情况 编辑:程序博客网 时间:2024/06/05 08:18
在Linux下写代码,自己写makefile,结果编译时出现重定义问题,开始检查发现每个头文件都有使用条件编译来防止重定义,迷茫了一会,看代码,发现在一个头文件中定义一个变量时引发这个问题,将此变量声明为static静态变量后就解决问题了,故以后最好将要使用的全局变量单独写到一个头文件中,或者声明为静态变量。
</pre><pre name="code" class="cpp">#ifndef __POLICY_H_#define __POLICY_H_#include <stdlib.h>/*class policy{public: void policy_handle(char* buffer)=0; void notify(long int new_bps)=0; long int get_bps=0; long int get_old_bps=0; };*/class openflow_policy{public: openflow_policy(); virtual void policy_handle(char* buffer); virtual void notify(long int new_bps); virtual long int get_bps(); virtual long int get_old_bps(); private: long int bps; long int old_bps;};#endif
发生重定义的文件。将openflow_policy* 变量声明为static即可。
#ifndef __THREAD_FUNC_H_#define __THREAD_FUNC_H_#include "../server_client/Tcp_Server_Client.h"using std::cout;using std::endl;const int Listen_Port=2344;const int Dest_Port=2345;static openflow_policy* my_openflow_policy=new openflow_policy(); void* start_server(void* args); void* start_client(void* args);#endif
0 0
- Linux 防止多重定义
- 防止全局变量重复定义
- 防止变量重复定义
- 链接出现多重定义错误
- linux下项目开发中防止重复定义和重复包含的方法
- Linux rm命令重定义,防止误删文件无法恢复
- php防止重复定义常量 .
- #pragma once 防止重复定义
- 定义长整型,防止溢出
- winpe/linux多重启动
- Linux 多重操作系统学习
- 模块中存在多重定义的问题
- 链接器解析多重定义的全局变量
- 块和它的多重定义:
- 不同的观点看到的多重定义
- CMakeLists.txt 之 多重判断宏定义
- QT多重定义,忽略特定的库
- C++Primer &、*符号的多重定义问题
- 史上最经典Java入门基础视频,没有之一!
- 线程同步:何时互斥锁不够,还需要条件变量?
- 成员变量和静态变量的区别?
- 经纬财富:丹东非农巧操作,翻仓如此简单
- 在SharePoint 2013中使用JSLink + Callout 展示信息(1)
- Linux 防止多重定义
- JQuery Kendo UI运用技巧总结
- ZK编程 - 创建节点+watcher
- POJ 1321 棋盘问题
- Android中的五大存储
- 在访问者模式中使用反射
- cocos2dx CCTransitionScene框架分析
- ios 中计时器的使用方式
- 迭代器模式