草庐IT

short_description

全部标签

c++ - 如何将 boost options_description 与十六进制输入一起使用?

我想有两个选项供程序运行,起始地址和结束地址,以便程序选项如下:--start_address0xc0000000--end_address0xffffffffoptions_description是否可以接受这样的十六进制输入?我是否必须将输入视为字符串并将它们转换为十六进制值。我现在有这个:po::options_descriptiondesc("Allowedoptions");desc.add_options()("help,h","displaythishelpmessage")("path,p",po::value(),"Executablefilepath")("star

c++ - 让模板通过指定 bitesize 在 char/short/int 之间进行选择?

我有这样的东西:templatestructbin{private:public:struct{int_value:SIZE;};}是否可以根据SIZE更改_value的数据类型?如果SIZE=8且 最佳答案 这不是特别优雅,但是:templatestructbest_integer_type{typedefbest_integer_type::typetype;};templatestructbest_integer_type{typedefchartype;};templatestructbest_integer_type{ty

c++ - 为什么C/C++会自动将char/wchar_t/short/bool/enum类型转换为int?

因此,如果我理解得很好,积分提升提供了:char、wchar_t、bool、enum、short类型总是转换为int(或无符号整数)。然后,如果表达式中有不同的类型,将应用进一步的转换。我理解得很好吗?如果是,那么我的问题是:它为什么好?为什么?不要成为不必要的char/wchar_t/bool/enum/short吗?我的意思是例如:charc1;charc2;c1=c2;正如我之前所描述的,char总是被转换为int,所以在这种情况下,在自动转换之后它看起来像这样:intc1;intc2;c1=c2;但我不明白为什么这样好,如果我知道char类型就足以满足我的需要的话。

c++ - 'short' 在 C++ 中的用法

为什么对于任何数字输入我们更喜欢int而不是short,即使输入的整数很少。short的大小在我的x86上是2个字节,在int上是4个字节,分配它不是比int更好更快吗?或者我说没有用short是错误的? 最佳答案 CPU在处理其“native”整数大小时通常是最快的。因此,即使short可能小于int,int可能更接近CPU中寄存器的native大小,并且因此可能是两者中效率最高的。在典型的32位CPU架构中,加载32位值需要一个总线周期来加载所有位。加载16位值需要一个总线周期来加载这些位,加上将其中的一半丢弃(此操作可能仍会在

c++ - 如何在 C++ 中将 char* 转换为 unsigned short

我有一个char*name,它是我想要的短的字符串表示形式,例如“15”,需要将其作为unsignedshortunitId输出到二进制文件。此类型转换还必须是跨平台兼容的。这是正确的转换吗:unitId=unsignedshort(temp);请注意,我在理解二进制方面处于初级水平。 最佳答案 我假设您的char*name包含您想要的短的string表示,即"15"。不要将char*直接转换为非指针类型。C中的转换实际上根本不会更改数据(除了少数异常(exception))——它们只是通知编译器您要将一种类型转换为另一种类型。如果

c++ - C/C++ 将 int 转换为 short 和内联 asm(特定于 ARM)

这不是一个微不足道的问题。注意:我不需要意见或建议来使用纯asm。我实际上需要完成我正在谈论的事情:在将结果分配给shortint时获得没有此符号/零扩展optcode的内联asm。我正在处理一个将16位短裤用于许多功能的库,我正在优化它。我需要使用内联asm添加一些优化函数。问题是在很多地方函数的结果被分配给一个短整型。即,编译器生成uxth或sxtharm操作码。我的目标是避免这个问题并确保不会生成这个无用的操作码。首先,我需要定义我的优化函数来返回shortint。这样,如果它被分配给一个int或一个shortint,就没有额外的操作码来转换结果。问题是我不知道如何跳过编译器在我

c++ - 限制 std::cout 中 boost::options_description 中默认值的精度

当我构建一个boost::options_description实例时options.add_options()("double_val",value(&config.my_double)->default_value(0.2),"it'sadouble");然后想自动输出可用于我的程序的选项,然后把std::cout默认值0.2显示的精度太高,当我有长变量名时,这会有效地扰乱我的输出:--double_val(=0.20000000000000001)it'sadouble不幸的是,之前对std::cout.precision的调用没有帮助:cout.precision(5);std

c++ - 使用 Howard Hinnant 的 short_alloc 进行快速 move 分配

我正在使用HowardHinnant的漂亮的基于竞技场的小分配器,short_alloc.令我震惊的是,从vector进行的move分配可以使用通常的快速move分配(即获取目标的资源)来完成,该vector已经超出其arena,因此分配在堆上。然而,事实并非如此:typedefarenaarena_type;typedefshort_allocalloc_type;typedefstd::vectorvec_type;arena_typearena1,arena2;vec_typevec1(alloc_type(arena1)),vec2(alloc_type(arena2));ve

c# - "The description for Event ID X in Source Y cannot be found."

我正在尝试将我的Web应用程序中的自定义事件写入Windows事件日志。我一直没有让消息字符串正常工作,我不断收到“找不到源Y中事件IDX的描述。”为了缩小范围,我决定将一个事件写到我的机器上已经存在的源中。我刚刚查看了其中一个已写出的事件,特别是SceCli事件1704。我执行以下代码:varlog=newEventLog("Application");log.Source="SceCli";varev=newEventInstance(1704,0,EventLogEntryType.Information);log.WriteEvent(ev);但是,这仍然在事件查看器中为我提供

c - Windows 上的 GCC : Set "Description" field of C executable?

如何设置可执行文件的“描述”属性?我的意思是当您在Windows资源管理器中右键单击一个可执行文件时显示的值,它显示“说明:”,其中似乎只是没有文件扩展名的可执行文件的名称。我在WindowsXP上运行GCC3.4.5(mingw-vistaspecialr3)。我用谷歌搜索无果,但我觉得我可能必须使用带有windres的资源文件...我至少走对了路吗?我实际上一直在使用-o设置自定义名称,但实际上我想要一个完全不同的名称。 最佳答案 该信息取自版本信息资源。Windows可执行文件可以包含嵌入其中的资源文件。通常,使用Micros