草庐IT

IPTip_Main_Window

全部标签

c++ - 处理 Xlib/Xt 中的 "new top level window"事件

因此,我需要知道何时创建顶级窗口。我在Xlib/Xt级别和不支持EWMH规范的窗口管理器上工作。我的想法是挂接到根窗口的SubstructureNotify事件。但事情并没有这么简单。问题是并非每个CreateNotify事件都对应于[b]顶级[/b]窗口的创建。所以我认为我需要做的是以某种方式测试我从事件中获得的窗口,以确认它是顶级窗口。我已经接近了,但一些虚假的窗口仍然通过我的网络。例如,在GTK应用程序中,如果您有一个下拉框并单击它,则会创建一个新窗口,我不知道如何捕捉和忽略它。这样的窗口很难与典型的顶级应用程序窗口区分开来。这是我目前所拥有的://Iamomiting(tons

C++ sdl : can i have an sdl-opengl window inside a menu and buttons i created with glade?

我使用glade创建了一些gtk按钮。是否可以将sdl-opengl窗口添加到glade应用程序中?如果可以,怎么做?如何在gtk窗口内的gtk事件和sdl事件之间进行交互?谢谢 最佳答案 至少有两个GTK扩展可以帮助您:GtkGLExt和Gtksdl.Gtksdl似乎已被废弃,但可能包含一些有用的代码。如果您不依赖核心OpenGL和事件处理之外的许多SDL功能,那么GtkGLExt非常有用。 关于C++sdl:canihaveansdl-openglwindowinsideamenua

C++调用main函数前的神秘过程,程序启动的幕后秘密!

你是否深入了解过C++程序启动的神秘过程,特别是在调用main函数之前都发生了些什么令人瞠目结舌的事情。1.编译过程在我们深入研究程序启动的细节之前,先让我们回顾一下C++程序的生命周期。首先,我们编写源代码,然后通过编译器将其转换为可执行文件。在这个过程中,编译器负责将源代码翻译成机器代码,生成各种符号表和重定位表。2.链接过程接下来,链接器发挥着关键的作用。它的任务包括将程序中的各个模块连接在一起,解析符号引用,生成最终的可执行文件。这个可执行文件中包含了程序的代码段、数据段以及其他一些必要的信息。3.加载与运行一旦可执行文件准备就绪,操作系统的加载器负责将程序加载到内存中,并开始执行。此

c++ - main 之外的段错误

我正在处理一个大型的混合C++/Fortran项目。目前,可执行文件在启动时立即出现段错误,在到达main之前,AFAICT。事实上在加载共享库之前。一些输出:$./myprogSegmentationfault(coredumped)$gdb./myprogcoreGNUgdb(Ubuntu7.7-0ubuntu3)7.7Copyright(C)2014FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterThisisfreesoftware:youarefreetochangeandredistributeit.

c++ - 如何在 VS2015 的监 window 口中查看 C++ 模板参数

我正在调试一些C++代码,其中包含一些以T作为模板参数的C++模板。我想在watch(或鼠标悬停)中看到T是什么类型。当我添加T观看时,它不显示类型。有没有办法在调试器中解析T参数?我可以在调用堆栈上看到模板参数类型。由于类型非常复杂,调用堆栈中的行很长,不适合我的显示。而且很难阅读。有没有办法解决调试器监视中的T参数?我使用VisualStudio2015Update3。 最佳答案 在watchwidow中添加_First或_Last,它们都是_Iter类型,解析后的类型会显示出来。我不认为有任何其他方式:在编译时_Iter被使用

c++ - 如何从 Main 调用 void 函数

在我的程序中,我试图从Main调用void函数,但我想不出正确的方法。Main位于最底部,voidGetTicketType(char&Choice)是我需要调用以cout票证类型的函数。//---------------------------------------------------------------------------//Purpose:Thisprogramsimulatesaticketofficeforsportingevents//Author:TBA//Date:TBA//-----------------------------------------

c++ - "Main"的多重定义

在学习C++的过程中,我正在通过实际网站上的C++手册进行学习。我正在使用DevC++并遇到了一个问题,不知道它是否是编译器错误。我自己一点一点地输入这段代码,因为我觉得它更有效率,并将我自己学到的东西添加到示例中,然后我开始初始化变量。这是C++手册中的代码#includeusingnamespacestd;intmain(){inta=5;//initialvalue=5intb(2);//initialvalue=2intresult;//initialvalueundetermineda=a+3;result=a-b;cout这会弹出一个编译器错误,提示““Main”的多个定义

c++ - 静态内联变量是否需要在main之前初始化?

如果我有以下A.h文件(仅header):#pragmaoncestructA{staticinlinestructInitializer{Initializer(){std::cout#include"A.h"(来自另一个header,将包含在main.cpp中)是否足够,所以Initializer::Initializer()之前被调用main()?我读到标准要求仅在使用前使用动态初始化来初始化静态变量。Itisimplementation-definedwhetherornotthedynamicinitialization(8.5,9.4,12.1,12.6.1)ofanobj

c++ - 在静态库中调用 main 之前的函数

我有一个类型注册系统,用于自定义形式的运行时类型信息。到目前为止,我已经使用以下宏在main之前调用注册函数并注册类型:#defineREGISTRATION\staticvoid_register();\namespace{structtemp{temp(){_register();}};}\staticconsttempCAT(temp,__LINE__);\staticvoid_register()这样我就可以在许多不同的cpp文件中执行此操作:REGISTRATION(){RegisterNewType(vec2)->RegisterMember("x",&vec2::x)->

c++ - Boost::Test——Main() 的生成?

我对设置boost测试库有点困惑。这是我的代码:#include"stdafx.h"#defineBOOST_TEST_DYN_LINK#defineBOOST_TEST_MODULEpevUnitTest#includeBOOST_AUTO_TEST_CASE(TesterTest){BOOST_CHECK(true);}我的编译器生成非常有用的错误消息:1>MSVCRTD.lib(wcrtexe.obj):errorLNK2019:unresolvedexternalsymbol_wmainreferencedinfunction___tmainCRTStartup1>C:\Use