草庐IT

GET_FROM_GALLERY

全部标签

c++ - Windows XP 样式 : Why do we get dark grey background on static text widgets?

我们正在使用C++和Win32编写Windows桌面应用程序。我们的对话框具有“WindowsXP风格”的丑陋外观:静态文本的背景是灰色的。对话框背景也是灰色的,这不是问题,但是在选项卡控件中,背景是白色的,文本的灰色背景非常明显。过去我们自己绘制了很多控件,但现在我们正在尝试尽可能多地使用标准外观,并尽可能避免覆盖标准行为。我们使用的是Win32API,它有点过时了,但我认为即使使用ATL也会出现问题。我们正在创建一个DIALOGTEMPLATE。文本位于“静态”控件(0x0082)中。我们为样式设置的唯一标志是“SS_LEFT”。文本控件位于选项卡控件内:“SysTabContro

c++ - 当基类和派生类都继承自 boost::enable_shared_from_this 时出现错误的弱指针

我有一个派生自boost::enable_shared_from_this的基类,然后是另一个派生自基类和boost::enable_shared_from_this的类:#include#includeusingnamespaceboost;classA:publicenable_shared_from_this{};classB:publicA,publicenable_shared_from_this{public:usingenable_shared_from_this::shared_from_this;};intmain(){shared_ptrb=shared_ptr(n

c++ - 函数指针 : is the simple canonical use bad from a performance point of view? 如果是的话,c++11-ish 的替代方案是什么?

我在我的c++代码中经常使用函数指针,总是以符合这个简单规范示例的方式使用(例如,函数具有相同的I/O,但所需的操作只是在运行时已知):#includeusingnamespacestd;intadd(intfirst,intsecond){returnfirst+second;}intsubtract(intfirst,intsecond){returnfirst-second;}intoperation(intfirst,intsecond,int(*functocall)(int,int)){return(*functocall)(first,second);}intmain()

c++ - 警告 C4244 : 'argument' : conversion from 'SIZE_T' to 'DWORD' , 可能丢失数据

我需要在我的代码中有一组重载函数,但我得到了转换wanrings。这是一个测试代码:#includewindows.hvoidf(DWORDarg){...}//voidf(SIZE_Targ){}voidmain(void){DWORDdword=0;SIZE_Tsize_t=dword;f(size_t);}编译器给出警告:test.cpp(11):warningC4244:'argument':conversionfrom'SIZE_T'to'DWORD',possiblelossofdata如果我取消注释voidf(SIZE_Targ)我得到test.cpp(5):errorC

C++套接字编程: maximize throughput/bandwidth on localhost (I only get 3 Gbit/s instead of 23GBit/s)

我想创建一个C++服务器/客户端,以最大化本地主机上TCP套接字通信的吞吐量。作为准备,我使用了iperf找出我的i7MacBookPro上的最大带宽是多少。------------------------------------------------------------ServerlisteningonTCPport5001TCPwindowsize:256KByte(default)------------------------------------------------------------[4]local127.0.0.1port5001connectedwith

c++ - 尝试理解 std::enable_shared_from_this<T> 但使用它会导致 bad_weak_ptr

我试图理解std::enable_shared_from_this类的行为,但我无法理解。所以我写了一个简单的程序来测试不同的情况。问题谁能解释一下下面代码的行为,因为我无法解释观察到的结果。谢谢你的帮助。代码#include#includestructC:std::enable_shared_from_this{};intmain(){{//test1std::shared_ptrfoo,bar;foo=std::make_shared();bar=foo->shared_from_this();//okstd::coutfoo=std::shared_ptr(newC);std::

C++ Linux : error: ‘move’ is not a member of ‘std’ how to get around it?

所以在我的VS2010上我可以编译如下代码:boost::shared_ptrinternal_thread;boost::packaged_taskinternal_task_w(boost::bind(&thread_pool::internal_run,this,internal_thread));internal_thread=boost::shared_ptr(newboost::thread(std::move(internal_task_w)));前两行在boost1.47.0和linux上没问题...但是在std::move上它给出了error:‘move’isnota

c++ - C/C++ : how to get integer unix timestamp of build time (not string)

我正在尝试实现非常微不足道的事情:我需要存储构建时间的整数32位unix时间戳,但是我找到的所有宏(__DATE__,__TIME__,__TIMESTAMP__)扩展为字符串,而不是整数。看来,我们只是没有它(这对我来说很奇怪)。我真的想要整数,而不是字符串。获得它的最佳做法是什么?更新:附带说明:我做嵌入式的东西,所以我没有足够的资源(比如128KB的闪存),因此解析字符串真的是个坏主意。我为什么需要它:我只需要每个Beta版本都有唯一的版本号。首先,hex文件将被命名为my-firmware-v2-33-BETA-1397315745.hex,其次,当我需要在设备屏幕上显示当前版

c++ - OpenMAX 和 NDK : Where I can get the surface?

我正在编写一个显示视频的应用程序。该应用程序是使用AndroidNDK和JNI编写的。我想使用OpenMAX。在OpenMAX示例中,它从Java检索表面,但我可以从哪里获得要渲染的表面?我只能通过applicationContext获得nativeWindow。例子:voidJava_com_example_nativemedia_NativeMedia_setSurface(JNIEnv*env,jclassclazz,jobjectsurface){theNativeWindow=ANativeWindow_fromSurface(env,surface);}但我没有表面。谢谢

HTTP中POST、GET、PUT、DELETE方式的区别

GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求