pytorch源码解析-动态接口宏

该博客为转载内容,原文链接为https://www.cnblogs.com/longriyao/p/10802682.html ,标签涉及人工智能和C/C++。
动态库接口定义:
	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 便可

 

转载于:https://www.cnblogs.com/longriyao/p/10802682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值