C++库研究笔记--用__attribute__((deprecated)) 管理过时代码

用__attribute__((deprecated)) 管理过时代码,同时保留兼容的接口

Linux下:

#define  DEPR_AFTER __attribute__((deprecated))
#define  DEPR_BEFOR 

class DEPR_BEFOR AAA
{
}DEPR_AFTER;

int main(int argc, char** argv)
{
    typedef float T;
    AAA aa;

    return 0;
}

g++ main.cpp -o main

main.cpp: In function ‘int main(int, char**)’:

main.cpp:16:9: warning: ‘AAA’ is deprecated (declared at main.cpp:9) [-Wdeprecated-declarations]

WINDOWS下:

对于VC,类似如OPENCV定义:

#if defined __GNUC__
    #define __CV_GPU_DEPR_BEFORE__
    #define __CV_GPU_DEPR_AFTER__ __attribute__ ((deprecated))
#elif defined(__MSVC__) //|| defined(__CUDACC__)
    #pragma deprecated(DevMem2D_)
    #define __CV_GPU_DEPR_BEFORE__ __declspec(deprecated)
    #define __CV_GPU_DEPR_AFTER__
#else
    #define __CV_GPU_DEPR_BEFORE__
    #define __CV_GPU_DEPR_AFTER__
#endif
时间: 2024-10-25 14:29:27

C++库研究笔记--用__attribute__((deprecated)) 管理过时代码的相关文章

msysGit管理GitHub代码

msysGit管理GitHub代码 代码的管理,在日常开发中是很重要的环节,程序员的修炼三部曲——版本控制,单元测试,项目自动化. 本篇就简单的说说通过msysGit来管理GitHub中的代码,实现版本控制. svn与git 说到版本控制,就不得不提它的发展历史.最开始流行的版本控制工具是cvs,但是cvs有个缺点,就是必须联网使用集中的代码库:于是SVN登上历史舞台,到现在很多公司都在使用SVN,它是一款集中式的管理代码的工具,可以使多个人共同协助开发一款产品,并有很强大的分支标签功能. 但S

使用Github来管理的代码片段

代码片段介绍 xcode4引入了一个新feature: code snippets,在整个界面的右下角,可以通过快捷键:cmd + ctrl + opt + 2 调出来.code snippets是一些代码的模版,对于一些常见的编程模式,xcode都将这些代码抽象成模版放到code snippet中,使用的时候,只需要键入快捷键,就可以把模版的内容填到代码中. 例如,在引入GCD(Grand Central Dispatch)后,当我们需要一个延时的操作时,只需要在xcode中键入:dispat

通过javascript库JQuery实现页面跳转功能代码

通过javascript库JQuery实现页面跳转功能代码的四段代码实例如下. 实例1: 1 2 3 4 $(function(){ var pn = $("#gotopagenum").val();//#gotopagenum是文本框的id属性 location.href = "NewList.aspx?pagenum="+pn;//location.href实现客户端页面的跳转 }); 实例2: 实现跳转:window.location = 'user!add.

git-svn:通过git来管理svn代码

简介 svn和git都是常用的版本管理软件,但是git无论在理念或是功能上都比svn更为先进.但是有的公司是以svn作为中央仓库,这时git与svn代码的同步就可以通过 git-svn这个软件进行,从而用git管理svn代码.最后的效果相当于把svn仓库当作git的一个remote(远程仓库),而你本地的代码都是通过git来管理,只有push到svn时才会把你本地的commit同步到svn. 从svn克隆 首先看一看用于测试的svn项目结构,svn的仓库路径是file:///d/Projects

git使用之如何将github库下载到本地与如何将代码上传github

git使用之如何将github库下载到本地与如何将代码上传github ------------------------------------------------------------------------- 原作者不详,如有侵权,我将以最快的速度删除该文,敬请谅解. 发布该文,仅仅是为了分享和传播技术. ------------------------------------------------------------------------- 一.如何将github库下载到本地

C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体

 1.C++中的结构体 #include<iostream> struct lstruct { int num; }; struct MyStruct { int num; double db = 10.8;//可以有默认的值 //MyStruct sx;//拒绝内部定义自己,也就是说不能够内部指向自己 MyStruct *pnext; MyStruct *phead; lstruct  l1; void boss()  //可以有方法 { } }; struct MyStructA {

代码 | 自适应大邻域搜索系列之(4) - Solution定义和管理的代码实现解析

前言 上一篇讲解了destroy和repair方法的具体实现代码,好多读者都在喊酸爽和得劲儿--今天这篇就讲点简单的,关于solution的定义和管理的代码实现,让大家回回神吧--哈哈. 01 总体概述 总所周知的是,每一个算法的最终目标都是求解出一个合理的满足心意的solution.因此对solution的定义和管理基本是每个算法都要涉及的.在本ALNS代码中呢,也对solution进行了一定的抽象和规范化,提供了一些标准化的接口,同样需要在具体使用中去重写这些接口. 关于solution的处

CentOS6.8 安装配置以svnadmin管理svn代码库

一.系统环境及说明 CentOS6.8_X64 subversion版本 1.8.15 svn是版本控制软件,虽然git大用替代它的趋势,但不可否则还有很多老用户喜欢它,及svn有一个好用的功能hooks钩子功能.后面再说这个hooks的用处. 1.准备repo $cat /etc/yum.repo.d/svn.repo [WandiscoSVN] name=Wandisco SVN Repo baseurl=http://opensource.wandisco.com/centos/$rele

Python3标准库:threading进程中管理并发操作

1. threading进程中管理并发操作 threading模块提供了管理多个线程执行的API,允许程序在同一个进程空间并发的运行多个操作. 1.1 Thread对象 要使用Thread,最简单的方法就是用一个目标函数实例化一个Thread对象,并调用start()让它开始工作. import threading def worker(): """thread worker function""" print('Worker') threads