草庐IT

static-compilation

全部标签

c++ - static constexpr char m_pszFoo[] = "***FOO***"有编译错误表达式没有计算常量

错误代码为C2131。即使我在其他文件中调用此变量的大小时,intelisense也不会提示,intelisense知道大小。我缺少什么才能使它正常工作?任何帮助是极大的赞赏。在下图中,可以看到智能感知没有提示并且还确定了大小。示例a.h:classa{private:staticconstexprcharm_pszFoo[]="***FOO***";//compileerroronthislineC2131expressiondidnotevaluatetoaconstantpublic:a(){sizeof(m_pszFoo);};//nocompileerrorhere};要重现

c++ - 当 static_cast'ing 为仅移动类型时,Clang 与 GCC

考虑以下简单的仅移动类:structbar{constexprbar()=default;bar(barconst&)=delete;bar(bar&&)=default;bar&operator=(barconst&)=delete;bar&operator=(bar&&)=default;};现在,让我们创建一个包装器:templatestructbox{constexprbox(T&&x):_payload{std::move(x)}{}constexprexplicitoperatorT()&&{returnstd::move(_payload);}private:T_payl

c++ - 是否可以在 C++ 中使用 "compile out"流表达式?

众所周知,您可以使用宏来制作一个可以在编译期间从代码中剥离的printf版本(例如,如果您只想在调试版本上打印)。生成的代码可以像使用printf一样使用。是否可以针对流输出产生类似的场景?例如,假设我有以下代码:#includeclassFoo{public:templateFoo&operator有没有办法在编译时有条件地去除doSomething()的第一行?我可以使用宏通过在运行时检查全局条件来获得类似的效果:#defineFOOif(!someGlobalCondition);elseFoo()voiddoSomething(){FOO但是,每次我们使用FOO时,这都需要一个

c++ - GDB 错误 "cp_search_static_and_baseclasses"

我正在使用STM32Workbench(基于Eclipse的IDE),我有一个工作区,其中包含几个C++静态库和2个C++应用程序,所有这些都是使用STM32F4MCUC++应用程序或静态库模板制作的。我的第一个申请很顺利,我开始了第二个申请。该项目模板添加了一个带有无限循环的main.c,与语言无关。如果我尝试调试main.c一切正常,但如果我将文件名更改为main.cpp(我需要它以在内部使用C++类)GDB在调试前停止并出现错误:/home/build/work/GCC-5-0-build/src/gdb/gdb/cp-namespace.c:343:internal-error

c++ - 使用 static、const、constexpr 的全局声明/初始化

在C++或C++11中,对于以下声明//初始化,//globalscopeconstinta=1;//line1staticconstintb=2;//line2constexprintc=3;//line3staticconstexprintd=4;//line4constexprinte=a+b+c*d;//line5staticconstexprintf=a-b-c*d;//line6Thisquestion表示在文件范围内,C++中的第1行和第2行没有区别。3号线和4号线呢?第4行和第5行有区别吗?第5行和第6行有区别吗? 最佳答案

c++ - "no base classes of the same type as the first non-static data member"

我askedthisawhileago在comp.std.c++上并没有得到答复。我只是要在那里引用我的帖子,稍作修改。标准布局类的最后一个要求9/6是必要的还是有用的?提供了脚注解释:Thisensuresthattwosubobjectsthathavethesameclasstypeandthatbelongtothesamemost-derivedobjectarenotallocatedatthesameaddress(5.10).单独来看,脚注是不正确的。两个空基类公共(public)基类可能会产生基类的两个实例同一个地址。structA{};structB:A{};str

java - 如何让Jetty动态加载 "static"页面

我正在构建JavaWeb应用程序,我讨厌传统的“代码-编译-部署-测试”循环。我想输入一个微小的更改,然后立即查看结果,而无需编译和部署。幸运的是,Jetty非常适合这个。它是一个纯Java网络服务器。它带有一个非常好的mavenplugin它允许您直接从构建树启动Jetty读取——无需打包war文件或部署。它甚至还有一个scanInterval设置:将其设置为非零值,它会监视您的java文件和各种配置文件的更改,并在您进行更改后几秒钟自动重新部署。只有一件事让我远离涅槃。我的src/main/webapp目录中有javascript和css文件,这些文件只是由Jetty提供的。我希望

java - 如何让Jetty动态加载 "static"页面

我正在构建JavaWeb应用程序,我讨厌传统的“代码-编译-部署-测试”循环。我想输入一个微小的更改,然后立即查看结果,而无需编译和部署。幸运的是,Jetty非常适合这个。它是一个纯Java网络服务器。它带有一个非常好的mavenplugin它允许您直接从构建树启动Jetty读取——无需打包war文件或部署。它甚至还有一个scanInterval设置:将其设置为非零值,它会监视您的java文件和各种配置文件的更改,并在您进行更改后几秒钟自动重新部署。只有一件事让我远离涅槃。我的src/main/webapp目录中有javascript和css文件,这些文件只是由Jetty提供的。我希望

ios - 如何调试 dsymutil 错误 : "Clang modules are expected to have exactly 1 compile unit."

在iOS应用程序的GenerateDSYMFile阶段收到此错误消息:/Users/name/Library/Developer/Xcode/DerivedData/ModuleCache/HASH/FrameworkName-HASH:Clangmodulesareexpectedtohaveexactly1compileunit.Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutilfailedwithexitcode1

ios - Live555 compile for iOS 编译报错

我正在尝试为iOS编译Live555。我做了以下事情:./genMakefilesiphoneosmake我收到以下构建错误:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-c-I../UsageEnvironment/include-I../groupsock/include-I../liveMedia/include-I../BasicUsageEnvironment/include-I.-DBSD=1-O2-DSOCKLEN_T=socklen