草庐IT

native_long

全部标签

C++ chrono - 将持续时间作为 float 或 long long

我有一个持续时间typedefstd::chrono::high_resolution_clockClock;Clock::time_pointbeginTime;Clock::time_pointendTime;autoduration=std::chrono::duration_cast(endTime-beginTime);我在std::chrono::milliseconds中得到了duration。但我需要duration作为float或longlong。如何做到这一点? 最佳答案 来自documentationtempl

c++ - 如何正确地将 time_t 转换为 long int?

我仍在学习C++中的类型转换,目前我正在做这件事longintt=time(NULL);我正在使用VS2013并注意到从“time_t”到“long”警告的转换,所以我想我应该将其强制转换为看起来像;longintt=static_casttime(NULL);然而,这还行不通,但结合静态转换和C风格转换仍然有效longintt=static_cast(time(NULL));我只是想知道是否有人可以帮助阐明这一点? 最佳答案 time(NULL)不是强制转换而是返回time_t的函数调用.自time_t与longint不完全相同的

c++ - unsigned int 到 unsigned long long 定义明确吗?

我想看看当unsignedlonglong被赋值给unsignedint时幕后发生了什么。我制作了一个简单的C++程序来试用它,并将所有io移出main():#include#includevoidusage(){std::cout\n";exit(0);}voidatoiWarning(intfoo){std::cout生成的程序集为main生成了这个:0000000000400950:400950:55push%rbp400951:4889e5mov%rsp,%rbp400954:4883ec20sub$0x20,%rsp400958:897decmov%edi,-0x14(%rb

c++ - long long 有定义吗?

在哪里检查是否定义了longlong类型?我想做这样的事情:#ifdefLONGLONG#definelong_longlonglong#else#definelong_longlong#endif 最佳答案 LLONG_MAX给出longlong可表示的最大值;如果您的实现不支持longlong,它不应该定义LLONG_MAX.#include#ifdefLLONG_MAX#definelong_longlonglong#else#definelong_longlong#endif这不是一个完美的解决方案。longlong在C++

解决Idea启动项目失败,提示Error running ‘XXXApplication‘: Command line is too long

IDEA版本为:IntelliJIDEA2018.2(UltimateEdition)一、问题描述有时当我们使用IDEA,Run/Debug一个SpringBoot项目时,可能会启动失败,并提示以下错误。Errorrunning'XXXApplication':Commandlineistoolong.ShortencommandlineforXXXApplicationoralsoforSpringBootdefaultconfiguration.意思是错误运行某程序:命令行太长。为某程序或为SpringBoot默认配置缩短命令行。如下图:出现这种报错的原因是类路径太长或者VM参数太多以致超

c++ - 在 native Win32 GDI 中绘制稍微透明的蓝色矩形

如何在nativeWin32C++中绘制alpha/透明度值为0.5(即50%透明度)的蓝色矩形?使用像RGBA()这样的宏会失败,我不确定如何指定画笔的alpha值。SetDCPenColor(hdc,RGBA(255,255,0,127));SetDCBrushColor(hdc,RGBA(255,255,0,127));Rectangle(hdc,0,0,width,height); 最佳答案 我很确定您需要GDI+这样做,但它应该与GDI一起存在://inrenderingfunctionusingnamespaceGdip

c++ - 无法将 INT_MIN 的值分配给 long long

signedlonglongvalue=-2147483648;cout输出2147483648(没有减号),为什么? 最佳答案 signedlonglongvalue=-2147483648;2147483648无法用32位有符号整数表示,因此将其转换为无符号整数,然后应用一元减号(不会更改任何内容),然后将其分配给签名长长。使用-2147483648LL 关于c++-无法将INT_MIN的值分配给longlong,我们在StackOverflow上找到一个类似的问题:

java - 在 C++ 中的 Java native (JNI) 方法中,在 jdoubleArray 和 vector<double> 之间进行转换

我有一个C++dll,其中包含我需要在Java程序中使用的方法。我浏览了所有关于JNI的Sun文档,以及我在网上找到的大量教程,但我似乎无法找到我的代码的问题。事实上,相当一部分代码是从各种教程和Sun网站上剪切和粘贴的。我的具体问题如下:我的C++native方法从我的Java程序接收一个jdoubleArray,它需要映射到一个C++vector,然后该vector可以传递给C++dll中的一个方法。dll中的方法返回另一个vector,然后需要映射到一个新的jdoubleArray,并返回给Java程序。问题似乎是我没有正确执行映射。我的代码如下(为简单起见,我删除了对dll方法

c++ - 海湾合作委员会 4.1.2 : error: integer constant is too large for ‘long’ type

我编译了一段关于散列函数的代码并得到了错误:整数常量对于‘long’类型来说太大了。我用谷歌搜索了一下,它说要添加后缀“ULL”,但我确实有ULL作为后缀。这个后缀只有gcc4.4.1支持,我机器上只有gcc4.1.2,不允许安装新的编译器。有什么方法可以更改代码以解决问题吗?谢谢,-托尼unsignedlonglonghash(stringk){//FNVhashunsignedlonglongx=14695981039346656037ULL;for(unsignedinty=0;y 最佳答案 1099511628211对于(3

c++ - 如何在 C++ 中一点一点地循环 long long

如果我在C++中有longlongx;,我如何遍历数字中的每一位来检查它是0还是1?我想数一下位中有多少个 最佳答案 您需要使用移位>>>运算符:unsignedlonglongx=static_cast(your_value);//unsignedlonglongfixforissuepointedoutby@ZacHowlandincommentsunsignedintcount=0;//numberof1bitswhile(x!=0){unsignedlonglongbit=x&1;if(bit==1){count++;//.