草庐IT

compile-time-constant

全部标签

c++ - boost::mutex 和 boost::timed_mutex 的区别

根据Boost文档,boost::mutex和boost::timed_mutex应该是不同的。第一个实现了LockableConcept,第二个实现了TimedLockableConcept。但是如果你看一下源代码,你会发现它们基本上是一样的。唯一的区别是锁类型定义。您可以在boost::mutex上调用timed_lock或使用带超时的boost::unique_lock。typedef::boost::detail::basic_timed_mutexunderlying_mutex;classmutex:public::boost::detail::underlying_mut

c++ - 获取 [ fatal error C1007 : unrecognized flag '-archVFPv3-D32' in 'p2' ] error while compiling win8 app

有时我会收到此错误:fatalerrorC1007:“p2”中无法识别的标志“-archVFPv3-D32”VisualStudio2013,Windows应用商店应用(c++和c#项目)。似乎完全重建解决了这个问题-直到下一次。有什么想法吗?谢谢 最佳答案 当您更改了编译器并且您链接到的静态库是使用不同的编译器编译时,也会发生这种情况。例如。不同版本的MSVC编译器。 关于c++-获取[fatalerrorC1007:unrecognizedflag'-archVFPv3-D32'in

c++ - get_time 未按预期运行

我在尝试使用put_time和get_time函数时遇到了一些问题。我拿了这段代码:#include#include#include#includeintmain(){std::tmt={};std::istringstreamss("2011-Februar-1823:12:34");ss.imbue(std::locale("de_DE.utf-8"));ss>>std::get_time(&t,"%Y-%b-%d%H:%M:%S");if(ss.fail()){std::cout来自here.但是,当同时使用gcc版本8.8.1和clang版本6.0.0进行编译时,我得到解析失败

c++ - boost::filesystem::last_write_time 在哪里?

这是我收到的链接器错误。我的所有其他boost::filesystem事情都在解决。我不明白为什么这个不。以为是boost1.40的问题,升级到1.44,问题依旧。我正在使用#defineBOOST_FILESYSTEM_VERSION3但我没有看到在这种情况下未提供last_write_time的提及。似乎缺少底层实现,即使存在api部分。1>TestPruner.obj:errorLNK2019:unresolvedexternalsymbol"void__cdeclboost::filesystem3::detail::last_write_time(classboost::fi

c++ - AVR/Linux GCC C++ 项目的常用常量

我正在为Linux+AVRArduino项目创建软件。显然,整个工作在Eclipse中分为几个项目(我没有使用ArduinoIDE)。我想为所有这些项目使用常见的、主要是字符串的常量。我还必须保留微Controller的RAM,以便需要编译时常量。我如何最好地实现它?我的想法是为这些常量创建一个单独的、仅包含标题的项目。使用:classA{public:staticconstchar*constSTRING;staticconstunsignedcharBOOL;};不够好,因为我希望能够像这样连接字符串常量:classA{public:staticconstchar*constSTR

c++ - Direct3D11(C++) : Updating Texture coordinates in constant buffer?

我正在尝试使用Direct3D制作一个相当基本的2D引擎。我制作了一个LoadImage()函数,它将图像的所有相当静态的行为存储在一个对象中。(着色器、顶点缓冲区、采样器等)我计划在常量缓冲区中使用矩阵定位顶点。但是,我还想有一个DrawImage()函数,它有一个参数来告诉纹理的哪一部分应该被绘制(剪裁),所以我必须更新纹理坐标。由于顶点缓冲区已经预定义,我想知道是否有一种方法可以通过发送到顶点着色器的常量缓冲区来更新纹理坐标?我希望我的问题足够清楚,如果您有任何疑问,请查看下面的代码。boolGameManager::GMLoadImage(Image*pImage,constc

c++ - 为什么我收到错误 : initializing argument 1 of 'Item::Item(int)' [-fpermissive] in Eclipse when I try to compile my C++ code?

我是C++的新手,在盯着它看了太久之后终于放弃了尝试编译它。编译器似乎出于某种原因拒绝了头文件中的构造函数原型(prototype)......我无法弄清楚它有什么问题。项目.h:#ifndefITEM_H_#defineITEM_H_classItem{public:Item(int);//ThislineiswhatEclipsekeepsflaggingupwiththeerrorinthetitlevirtual~Item();Item*getNextPtr();intgetValue();voidsetNextPtr(Item*);};#endif/*ITEM_H_*/在我的

c++ - boost::posix_time::milliseconds 和 boost::chrono::milliseconds 之间的区别

我正在尝试使用condition_variable_any::timed_wait()当我将boost::chrono::millisecond传递给函数时,它无法编译:error:nomatchfor‘operator+’in‘boost::get_system_time()+wait_duration’但是,如果我将boost::posix_time::milliseconds传递给它编译的函数。问题是我不明白两者之间的区别。他们都声称是持续时间。但据我了解posix时间,它代表自纪元以来的时间,对我来说这意味着boost::posix_time::millisecondsp(10

【ssh】解决port 22:connection time out

突然gitclone报错了,之前没遇到过,记录一下报错信息:ssh:connecttohostgithub.comport22:ConnectiontimedoutPleasemakesureyouhavethecorrectaccessrightsandtherepositoryexists.运行以下命令检查ssh是否能够连接成功ssh-Tgit@github.com报错:$ssh-vTgit@github.comOpenSSH_9.2p1,OpenSSL1.1.1t7Feb2023debug1:Readingconfigurationdata/etc/ssh/ssh_configdebug

c++ - 从变量转换时出现 std::chrono::time_point 编译器错误

我有一个longlong类型的变量,它表示以纳秒为单位的时间点。我正在尝试使用std::chrono::time_point包装它,但编译器(VS2017)给我带来了麻烦。这是编译的代码:std::chrono::time_pointtpStart(std::chrono::nanoseconds(10ll));std::chrono::time_pointtpEnd=std::chrono::steady_clock::now();doubled=std::chrono::duration(tpEnd-tpStart).count();现在,如果我用变量切换值10ll,计算持续时间的