草庐IT

mh_execute_header

全部标签

c++ - 在 C++ 中,如何使用后备包装默认 header

假设我的代码使用std::array,我想这样做:文件:数组#pragmaonce#ifdefMY_TOOLSET_HAS_STD_ARRAY#include//recursiveincludehere?#else#includenamespacestd{usingboost::array;}#endif这样我的项目就可以使用std::array而无需关心编译器/平台。一个问题(至少)是当std::array可用时,include将是递归的,而我真正想要的是(语义上)“包含如果这个include不存在就会包含的header”。关于如何做到这一点有什么想法吗?我知道将boost::arr

C++ header guards 不会编译

在vs2010中无法使用header保护来编译任何代码。例如:#ifndefSIMPLE.H#defineSIMPLE.H#includeclassPlace{private:intm_xplace;intm_yplace;Place(){}public:Place(intx,inty):m_xplace(x),m_yplace(y){}voidMove(intx,inty);voidset_place(intx,inty){m_xplace=x,m_yplace=y;}intget_place_x(){returnm_xplace;}intget_place_y(){returnm_

c++ - (C++ 线程): Creating worker threads that will be listening to jobs and executing them concurrently when wanted

假设我们有两个worker。每个worker都有一个0和1的id。还假设我们一直有工作到达,每个工作也有一个标识符0或1指定哪个worker必须做这个工作。我想创建2个线程,它们最初是锁定的,然后当两个作业到达时,解锁它们,每个线程都完成它们的工作,然后再次锁定它们,直到其他作业到达。我有以下代码:#include#include#includeusingnamespacestd;structjob{threadjobThread;mutexjobMutex;};jobjobs[2];voidexecuteJob(intworker){while(true){jobs[worker].

c++ - 这对于仅 header 库来说代码太多了吗?

看来我不得不在这里内联相当多的代码。我想知道将其完全保留在这样的头文件中是否是错误的设计实践:#include#include#include#include#include#include#include"../Exception.hpp"namespaceWindowsAPI{namespaceFileSystem{classNonRecursiveEnumeration;classRecursiveEnumeration;structAllResults;structFilesOnly;templateclassDirectoryIterator;templatestructFi

开发安全之:Header Manipulation

Overview 方法echo_json()包含未验证的数据,这会招致各种形式的攻击,包括:cache-poisoning、cross-sitescripting、cross-userdefacement、pagehijacking、cookiemanipulation或openredirect。Details以下情况中会出现HeaderManipulation漏洞:1.数据通过一个不可信赖的数据源进入Web应用程序,最常见的是HTTP请求。2.数据包含在一个HTTP响应头文件里,未经验证就发送给了Web用户。在这种情况下,数据通过 header()传送。如同许多软件安全漏洞一样,Header

c++ - boost :什么是 "convenience header"?

boost中的“header”和“convenienceheader”有什么区别? 最佳答案 便利header通常(不仅仅是在Boost中)是一个包含许多其他header(包含实际代码)的header,这些header通常一起使用,即使它们之间没有硬依赖关系(这就是为什么它们'首先重新分开)。 关于c++-boost:什么是"convenienceheader"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c++ - 仅 header 链接

许多C++项目(例如,许多Boost库)是“仅header链接”。在普通C中这也可能吗?如何将源代码放入标题中?有没有关于它的网站? 最佳答案 执行摘要:可以,但不应该。C和C++代码在编译之前被预处理:所有header都被递归地“粘贴”到包含它们的源文件中。如果您在头文件中定义了一个函数,并且它被两个C文件包含,那么您将在每个目标文件中得到两个拷贝(OneDefinitionRule违规)。如果您的所有函数都标记为static,即在翻译单元外不可见,则您可以创建“仅header”C库。但这也意味着您将获得包含头文件的每个翻译单元中

c++ - Mac OS X Mavericks 上的 libc++ header 在哪里?

我想看一下标题并想知道它们在哪里。 最佳答案 安装Xcode后,它位于此处:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1MacOSX10.9+不再使用GCC/libstdc++,而是使用libc++和Clang。更新:在XCode6.0.1更新之后,header现在位于此处:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeD

C++ header - 接口(interface)和实现细节之间的分离

我程序中的一个类使用了一些第三方库。库对象是我类(class)的私有(private)成员://My.h#includeclassMy{...private:3pObjectm_object;}这个问题-我的程序中使用我的类的任何其他单元都应该配置为包含3pheader。转向另一种3p将危及整个构建...我看到有两种方法可以解决这个问题——一种是让3pObjectextern并将m_Object变成一个指针,在构造函数中初始化;其次是创建“接口(interface)”和“工厂”类并导出它们...您能建议另一种解决方法吗? 最佳答案

c++ - 为什么 C++ 标准 1.9/5 谈论 "possible execution sequences"?

根据C++03标准1.9/5Aconformingimplementationexecutingawell-formedprogramshallproducethesameobservablebehaviorasoneofthepossibleexecutionsequencesofthecorrespondinginstanceoftheabstractmachinewiththesameprogramandthesameinput.我不明白“作为其中一个”部分。如果我有一个特定的程序和一个特定的输入,并且我的程序不包含未定义的行为,为什么可观察到的行为会有所不同?“一种可能的执行顺