⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config_8h-source.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00220"></a>00220 <span class="comment">// VC60 workaround: can't cast unsigned __int64 to float or double</span><a name="l00221"></a>00221 <span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; !defined(CRYPTOPP_MSVC6PP_OR_LATER)</span><a name="l00222"></a>00222 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_VC6_INT64 (__int64)</span><a name="l00223"></a>00223 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00224"></a>00224 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_VC6_INT64</span><a name="l00225"></a>00225 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00226"></a>00226 <span class="preprocessor"></span><a name="l00227"></a>00227 <span class="preprocessor">#ifdef _MSC_VER</span><a name="l00228"></a>00228 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_NO_VTABLE __declspec(novtable)</span><a name="l00229"></a>00229 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00230"></a>00230 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_NO_VTABLE</span><a name="l00231"></a>00231 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00232"></a>00232 <span class="preprocessor"></span><a name="l00233"></a>00233 <span class="preprocessor">#ifdef _MSC_VER</span><a name="l00234"></a>00234 <span class="preprocessor"></span>        <span class="comment">// 4231: nonstandard extension used : 'extern' before template explicit instantiation</span><a name="l00235"></a>00235         <span class="comment">// 4250: dominance</span><a name="l00236"></a>00236         <span class="comment">// 4251: member needs to have dll-interface</span><a name="l00237"></a>00237         <span class="comment">// 4275: base needs to have dll-interface</span><a name="l00238"></a>00238         <span class="comment">// 4660: explicitly instantiating a class that's already implicitly instantiated</span><a name="l00239"></a>00239         <span class="comment">// 4661: no suitable definition provided for explicit template instantiation request</span><a name="l00240"></a>00240         <span class="comment">// 4786: identifer was truncated in debug information</span><a name="l00241"></a>00241         <span class="comment">// 4355: 'this' : used in base member initializer list</span><a name="l00242"></a>00242 <span class="preprocessor">#       pragma warning(disable: 4231 4250 4251 4275 4660 4661 4786 4355)</span><a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00244"></a>00244 <span class="preprocessor"></span><a name="l00245"></a>00245 <span class="preprocessor">#ifdef __BORLANDC__</span><a name="l00246"></a>00246 <span class="preprocessor"></span><span class="comment">// 8037: non-const function called for const object. needed to work around BCB2006 bug</span><a name="l00247"></a>00247 <span class="preprocessor">#       pragma warn -8037</span><a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00249"></a>00249 <span class="preprocessor"></span><a name="l00250"></a>00250 <span class="preprocessor">#if (defined(_MSC_VER) &amp;&amp; _MSC_VER &lt;= 1300) || defined(__MWERKS__) || defined(_STLPORT_VERSION)</span><a name="l00251"></a>00251 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION</span><a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00253"></a>00253 <span class="preprocessor"></span><a name="l00254"></a>00254 <span class="preprocessor">#ifndef CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION</span><a name="l00255"></a>00255 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE</span><a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00257"></a>00257 <span class="preprocessor"></span><a name="l00258"></a>00258 <span class="preprocessor">#ifdef CRYPTOPP_DISABLE_X86ASM          // for backwards compatibility: this macro had both meanings</span><a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DISABLE_ASM</span><a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DISABLE_SSE2</span><a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00262"></a>00262 <span class="preprocessor"></span><a name="l00263"></a>00263 <span class="preprocessor">#if !defined(CRYPTOPP_DISABLE_ASM) &amp;&amp; ((defined(CRYPTOPP_MSVC6PP_OR_LATER) &amp;&amp; defined(_M_IX86)) || (defined(__GNUC__) &amp;&amp; (defined(__i386__) || defined(__x86_64__))))</span><a name="l00264"></a>00264 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_X86_ASM_AVAILABLE</span><a name="l00265"></a>00265 <span class="preprocessor"></span><a name="l00266"></a>00266 <span class="preprocessor">        #if !defined(CRYPTOPP_DISABLE_SSE2) &amp;&amp; (defined(CRYPTOPP_MSVC6PP_OR_LATER) || CRYPTOPP_GCC_VERSION &gt;= 30300)</span><a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">                #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 1</span><a name="l00268"></a>00268 <span class="preprocessor"></span><span class="preprocessor">        #else</span><a name="l00269"></a>00269 <span class="preprocessor"></span><span class="preprocessor">                #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0</span><a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">        #endif</span><a name="l00271"></a>00271 <span class="preprocessor"></span><a name="l00272"></a>00272         <span class="comment">// SSSE3 was actually introduced in GNU as 2.17, which was released 6/23/2006, but we can't tell what version of binutils is installed.</span><a name="l00273"></a>00273         <span class="comment">// GCC 4.1.2 was released on 2/13/2007, so we'll use that as a proxy for the binutils version.</span><a name="l00274"></a>00274 <span class="preprocessor">        #if !defined(CRYPTOPP_DISABLE_SSSE3) &amp;&amp; (_MSC_VER &gt;= 1400 || CRYPTOPP_GCC_VERSION &gt;= 40102)</span><a name="l00275"></a>00275 <span class="preprocessor"></span><span class="preprocessor">                #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 1</span><a name="l00276"></a>00276 <span class="preprocessor"></span><span class="preprocessor">        #else</span><a name="l00277"></a>00277 <span class="preprocessor"></span><span class="preprocessor">                #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0</span><a name="l00278"></a>00278 <span class="preprocessor"></span><span class="preprocessor">        #endif</span><a name="l00279"></a>00279 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00280"></a>00280 <span class="preprocessor"></span><a name="l00281"></a>00281 <span class="preprocessor">#if !defined(CRYPTOPP_DISABLE_ASM) &amp;&amp; defined(_MSC_VER) &amp;&amp; defined(_M_X64)</span><a name="l00282"></a>00282 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_X64_MASM_AVAILABLE</span><a name="l00283"></a>00283 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00284"></a>00284 <span class="preprocessor"></span><a name="l00285"></a>00285 <span class="preprocessor">#if !defined(CRYPTOPP_DISABLE_ASM) &amp;&amp; defined(__GNUC__) &amp;&amp; defined(__x86_64__)</span><a name="l00286"></a>00286 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_X64_ASM_AVAILABLE</span><a name="l00287"></a>00287 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00288"></a>00288 <span class="preprocessor"></span><a name="l00289"></a>00289 <span class="preprocessor">#if !defined(CRYPTOPP_DISABLE_SSE2) &amp;&amp; (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__))</span><a name="l00290"></a>00290 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1</span><a name="l00291"></a>00291 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00292"></a>00292 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0</span><a name="l00293"></a>00293 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00294"></a>00294 <span class="preprocessor"></span><a name="l00295"></a>00295 <span class="comment">// how to allocate 16-byte aligned memory (for SSE2)</span><a name="l00296"></a>00296 <span class="preprocessor">#if defined(CRYPTOPP_MSVC6PP_OR_LATER)</span><a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_MM_MALLOC_AVAILABLE</span><a name="l00298"></a>00298 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)</span><a name="l00299"></a>00299 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_MALLOC_ALIGNMENT_IS_16</span><a name="l00300"></a>00300 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__linux__) || defined(__sun__) || defined(__CYGWIN__)</span><a name="l00301"></a>00301 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_MEMALIGN_AVAILABLE</span><a name="l00302"></a>00302 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00303"></a>00303 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_NO_ALIGNED_ALLOC</span><a name="l00304"></a>00304 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00305"></a>00305 <span class="preprocessor"></span><a name="l00306"></a>00306 <span class="comment">// how to disable inlining</span><a name="l00307"></a>00307 <span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; _MSC_VER &gt;= 1300</span><a name="l00308"></a>00308 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE_DOTDOTDOT</span><a name="l00309"></a>00309 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE __declspec(noinline)</span><a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GNUC__)</span><a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE_DOTDOTDOT</span><a name="l00312"></a>00312 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE __attribute__((noinline))</span><a name="l00313"></a>00313 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE_DOTDOTDOT ...</span><a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_NOINLINE </span><a name="l00316"></a>00316 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00317"></a>00317 <span class="preprocessor"></span><a name="l00318"></a>00318 <span class="comment">// how to declare class constants</span><a name="l00319"></a>00319 <span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; _MSC_VER &lt;= 1300</span><a name="l00320"></a>00320 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_CONSTANT(x) enum {x};</span><a name="l00321"></a>00321 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#       define CRYPTOPP_CONSTANT(x) static const int x;</span><a name="l00323"></a>00323 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00324"></a>00324 <span class="preprocessor"></span><a name="l00325"></a>00325 <span class="preprocessor">#if defined(_M_X64) || defined(__x86_64__)</span><a name="l00326"></a>00326 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_X64 1</span><a name="l00327"></a>00327 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00328"></a>00328 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_X64 0</span><a name="l00329"></a>00329 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00330"></a>00330 <span class="preprocessor"></span><a name="l00331"></a>00331 <span class="comment">// see http://predef.sourceforge.net/prearch.html</span><a name="l00332"></a>00332 <span class="preprocessor">#if defined(_M_IX86) || defined(__i386__) || defined(__i386) || defined(_X86_) || defined(__I86__) || defined(__INTEL__)</span><a name="l00333"></a>00333 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_X86 1</span><a name="l00334"></a>00334 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00335"></a>00335 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_BOOL_X86 0</span><a name="l00336"></a>00336 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00337"></a>00337 <span class="preprocessor"></span><a name="l00338"></a>00338 <span class="preprocessor">#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X86</span><a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor">        #define CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS</span>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -