关于系统和语言选项预定义宏

C/C++语言选项预定义宏:
The gcc and icc (>=8) both define __GNUC__
cl.exe (Windows) always defines _WIN32
__cplusplus    Defined for C++ programs only.
_CHAR_UNSIGNED Defined when /J is specified.
_CPPRTTI  Defined for code compiled with the /GR (Enable Run-Time Type Information) option.
_CPPUNWIND  Defined for code compiled with the /GX (Enable Exception Handling) option.
_DLL      Defined when /MD or /MDd - Multithread DLL is specified.
_M_IX86   (x86 specific) Defined as 500 for Blend (/GB), 300 for 80386 (/G3), 400 for 80486 (/G4), 500 for Pentium (/G5), and 600 for Pentium Pro (/G6).
_MSC_VER  Defines the compiler version. Always defined.
          1200: VC++ 6.0 Microsoft Visual C++ version 6.0 or later
          1310: VC++ 7.1 2003 Microsoft (R) 32-bit C/C++ 13.10.3077 for 80x86 1984-2002
          1400: VC++ 8.0 2005 14.00.50727.42
_WIN32    (x86 specific) Defined for applications for WIN32. Always defined.
_MT       Defined when /MD or /MT is specified.


判断系统完全版:http://sourceforge.net/apps/mediawiki/predef/index.php?title=Operating_Systems

Operating Systems

Contents

  [hide]

AIX

TypeMacroDescription
Identification_AIX 
Version_AIX'VR'V = Version
R = Revision
Identification__TOS_AIX__Defined by xlC


Example

If _AIX is defined, then the following macros can be used to determine the version. Please note that the macros indicates the mentioned version or higher. For example, if _AIX43 is defined, then _AIX41 will also be defined.

AIX VersionMacro
3.2.x_AIX3
_AIX32
4.1_AIX41
4.3_AIX43


Amdahl UTS

TypeMacro
IdentificationUTS


AmigaOS

TypeMacroDescription
IdentificationAMIGA 
Identification__amigaos__Defined by GNU C


Apollo AEGIS

TypeMacro
Identificationaegis


Apollo Domain/OS

TypeMacro
Identificationapollo


BeOS

TypeMacro
Identification__BEOS__


BSD Environment

TypeMacroFormatDescription
Identification__FreeBSD__
__NetBSD__
__OpenBSD__
__bsdi__
__DragonFly__
  
VersionBSDYYYYMMYYYY = Year
MM = Month

Must be included from <sys/param.h>
VersionBSD4_2
BSD4_3
BSD4_4
 Must be included from <sys/param.h>
Identification_SYSTYPE_BSD Defined by DEC C


Example

VersionBSDMacro
4.3 Net2199103 
4.4199306BSD4_4
4.4BSD-Lite2199506 


BSD/OS

TypeMacro
Identification__bsdi__


ConvexOS

TypeMacro
Identification__convex__


Cygwin Environment

TypeMacro
Identification__CYGWIN__


DG/UX

TypeMacro
IdentificationDGUX
Identification__DGUX__
Identification__dgux__


DragonFly

TypeMacro
Identification__DragonFly__


DYNIX/ptx

TypeMacro
Identification_SEQUENT_
Identificationsequent


eCos

TypeMacro
Identification__ECOS


EMX Environment

TypeMacro
Identification__EMX__


FreeBSD

TypeMacroFormatDescription
Identification__FreeBSD__  
VersionBSD  
Version__FreeBSD__VV = Version
Version__FreeBSD_version?Must be included from <osreldate.h>


Example

FreeBSD__FreeBSD____FreeBSD_version
1.x1 
2.0-RELEASE2119411
2.2-RELEASE2220000
3.0-RELEASE3300005
4.0-RELEASE4400017
4.5-RELEASE4450000

For more information see the FreeBSD porters handbook.

GNU Hurd

TypeMacro
Identification__GNU__


HI-UX MPP

TypeMacro
Identification__hiuxmpp


HP-UX

TypeMacroDescription
Identification_hpuxDefined by HP UPC
Identificationhpux 
Identification__hpux 


IBM OS/400

TypeMacro
Identification__OS400__


INTEGRITY

TypeMacro
Identification__INTEGRITY


Interix Environment

TypeMacroDescription
Identification__INTERIXDefined by GNU C and Visual Studio


IRIX

TypeMacro
Identificationsgi
Identification__sgi


Linux

TypeMacroDescription
Identification__linux__ 
IdentificationlinuxObsolete
Identification__linuxObsolete


LynxOS

TypeMacro
Identification__Lynx__


MacOS

TypeMacroDescription
IdentificationmacintoshMac OS 9
IdentificationMacintoshMac OS 9
Identification__APPLE__ & __MACH__Mac OS X

Defined by GNU C and Intel C++


Microware OS-9

TypeMacroDescription
Identification__OS9000Defined by Ultimate C/C++
Identification_OSKDefined by Ultimate C/C++


MINIX

TypeMacro
Identification__minix


MPE/iX

TypeMacro
Identificationmpeix
Identification__mpexl


MSDOS

TypeMacro
IdentificationMSDOS
Identification__MSDOS__
Identification_MSDOS
Identification__DOS__


NetBSD

TypeMacroFormatDescription
Identification__NetBSD__  
VersionBSD  
VersionNetBSD'V'_'R' V = Version
R = Revision

Must be included from <sys/param.h>
Version__NetBSD_Version__VVRRAAPP00VV = Version
RR = Revision
AA = Release
PP = Patch

From NetBSD 1.2D (?) until NetBSD 2.0H

Must be included from <sys/param.h>
Version__NetBSD_Version__VVRR00PP00VV = Version
RR = Revision
PP = Patch

From NetBSD 2.99.9

Must be included from <sys/param.h>


Example

NetBSD__NetBSD_Version__Macro
0.8 NetBSD0_8
0.9 NetBSD0_9
1.0 NetBSD1_0 = 1
1.0A NetBSD1_0 = 2
1.2D102040000 
1.2.1102000100 


NonStop

TypeMacro
Identification__TANDEM


Nucleus RTOS

TypeMacro
Identification__nucleus__


OpenBSD

TypeMacroFormatDescription
Identification__OpenBSD__  
VersionBSD  
VersionOpenBSD'V'_'R' V = Version
R = Revision

Must be included from <sys/param.h>


Example

OpenBSDMacro
3.1OpenBSD3_1
3.9OpenBSD3_9


OS/2

TypeMacro
IdentificationOS2
Identification_OS2
Identification__OS2__
Identification__TOS_OS2__


Palm OS

TypeMacroDescription
Identification__palmos__Defined by GNU C in PRC-Tools


Pyramid DC/OSx

TypeMacro
Identificationpyr


QNX

TypeMacroFormatDescription
Identification__QNX__ QNX 4.x
Identification__QNXNTO__ QNX 6.x
Version_NTO_VERSIONVRRV = Version
RR = Revision

Only available when __QNXNTO__ is defined.

Must be included from <sys/neutrino.h>


Example

QNX_NTO_VERSION
6.2620


Reliant UNIX

TypeMacro
Identificationsinux


SCO OpenServer

TypeMacroDescription
IdentificationM_I386Defined by GNU C
IdentificationM_XENIXDefined by GNU C
Identification_SCO_DS 


Solaris

TypeMacroDescription
Identificationsun 
Identification__sun 
Version__'System'_'Version'System = uname -s
Version = uname -r
Any illegal character is replaced by an underscore.

Defined by Sun Studio


Use the SVR4 macros to distinguish between Solaris and SunOS.

#if defined(sun) || defined(__sun)# if defined(__SVR4) || defined(__svr4__)/* Solaris */# else/* SunOS */# endif#endif


Example

SolarisMacro
2.7__SunOS_5_7
8__SunOS_5_8


Stratus VOS

TypeMacroFormatDescription
Identification__VOS__  
Version__VOS__VV = Version


Please notice that the __VOS__ macro is defined by the compiler, but as several compilers can co-exist in the same OS release, the version number is not reliable.


SVR4 Environment

TypeMacroDescription
Identification__sysv__ 
Identification__SVR4 
Identification__svr4__ 
Identification_SYSTYPE_SVR4Defined on IRIX


Symbian OS

TypeMacro
Identification__SYMBIAN32__


Tru64 (OSF/1)

TypeMacro
Identification__osf__
Identification__osf


Ultrix

TypeMacro
Identificationultrix
Identification__ultrix
Identification__ultrix__
Identificationunix & vax


UNICOS

TypeMacroFormatDescription
Identification_UNICOS  
Version_UNICOSVV = Version


UNIX Environment

TypeMacro
Identification__unix__
Identification__unix


Please notice that not all compilers defines these macros, e.g. the xlC or the DEC C/C++ compiler, so it may be better to use the POSIX or X/Open standard macros instead.


UnixWare

TypeMacro
Identificationsco
Identification_UNIXWARE7


U/Win Environment

TypeMacro
Identification_UWIN


VMS

TypeMacroFormatDescription
IdentificationVMS  
Identification__VMS  
Version__VMS_VERVVRREPPTTVV = Version
RR = Revision
E = Edit number
PP = Patch (01 = A, ... 26 = Z)
TT = Type (22 = official)


Example

VMS__VMS_VER
6.160100022
6.260200022
6.2-1I60210922


Windows

TypeMacroDescription
Identification_WIN32Defined for both 32-bit and 64-bit environments
Identification_WIN64Defined for 64-bit environments.
Identification__WIN32__Defined by Borland C++
Identification__TOS_WIN__Defined by xlC
Identification__WINDOWS__Defined by Watcom C/C++


Windows CE

TypeMacroFormatDescription
Identification_WIN32_WCE Defined by Embedded Visual Studio C++
Version_WIN32_WCEVRRV = Version
R = Revision
IdentificationWIN32_PLATFORM_'P' P = Platform
VersionWIN32_PLATFORM_'P'VP = Platform
V = Version


Example

Version_WIN32_WCE
2.01201
2.11211
3.0300
4.0400
4.1410
4.2420
5.0501


PlatformMacroValue
H/PC 2000WIN32_PLATFORM_HPC2000 
H/PC Pro 2.11WIN32_PLATFORM_HPCPRO211
H/PC Pro 3.0WIN32_PLATFORM_HPCPRO300
Pocket PCWIN32_PLATFORM_PSPC1
Pocket PC 2002WIN32_PLATFORM_PSPC310
Windows Mobile 2003WIN32_PLATFORM_PSPC400
Smartphone 2002WIN32_PLATFORM_WFSP100


Wind/U Environment

TypeMacroFormatDescription
Identification_WINDU_SOURCE  
Version_WINDU_SOURCE0xVVRRPPVV = Version
RR = Revision
PP = Patch


Example

Wind/U_WINDU_SOURCE
3.1.20x030102


z/OS

TypeMacroDescription
Identification__MVS__Host
Identification__HOS_MVS__Host
Identification__TOS_MVS__Target
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值