码迷,mamicode.com
首页 > 其他好文 > 详细

pytorch源码解析-动态接口宏

时间:2019-05-02 17:08:10      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:attr   源码   fine   ifd   exp   显示   tor   头文件   动态   

动态库接口定义:
	gcc:
		定义在动态库的显示属性:
			作用对象: 	函数、变量、模板以及C++类
			default:	表示在动态库内可见
			hidden:		表示不可见
		#define EXPORT __attribute__((__visibility__("default")))
	微软:
		#define C10_EXPORT __declspec(dllexport)	 制作dll时候用
		#define C10_IMPORT __declspec(dllimport)	 调用dll时候用
			放到同一个api 头文件中	
			当编译的时候用export
			调用的时候用 import 

	通常用法:
		class API Tensor {};

	常用方法:
	#ifdef _WIN32
		#windows编译
		#if defined(C10_BUILD_SHARED_LIBS)		#如果定义动态库
			#define C10_EXPORT __declspec(dllexport)
			#define C10_IMPORT __declspec(dllimport)
		#else
			#define C10_EXPORT
			#define C10_IMPORT
		#endif
	#else // _WIN32
		#if defined(__GNUC__)
			#define C10_EXPORT __attribute__((__visibility__("default")))
		#else // defined(__GNUC__)
			#define C10_EXPORT
			#endif // defined(__GNUC__)
		#define C10_IMPORT C10_EXPORT
	#endif // _WIN32


	#ifdef BUILD_MAIN_LIB			#编译的时候 这个有定义   调用的时候没有定义
		#define API C10_EXPORT
	#else
		#define API C10_IMPORT
	#endif

	真正使用的时候使用: API 便可

 

pytorch源码解析-动态接口宏

标签:attr   源码   fine   ifd   exp   显示   tor   头文件   动态   

原文地址:https://www.cnblogs.com/longriyao/p/10802682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!