[C/C++]imGui_如何去掉背后窗口与CMD黑窗

使用imGui框架时,如何去掉背后的窗口,如何隐藏exe运行时背后的渲染窗口,与cmd黑框窗口。

首先,你需要切换到ImGui的docking分支:

https://github.com/ocornut/imgui/tree/docking


一、隐藏渲染窗口

找到代码里的

::ShowWindow(hwnd, SW_SHOWDEFAULT);

改成

::ShowWindow(hwnd,SW_HIDE);

如果你想隐藏窗口,但又希望任务栏可以显示图标,可以改成

::ShowWindow(hwnd,WS_VISIBLE);


二、去除Console窗口黑框(CMD窗口)//windows平台

方法:在main.cpp头文件引用处添加:

#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")

[C/C++]使用imGui框架绘制界面_如何去掉外面的窗口_如何隐藏exe运行时的cmd黑框窗口
位置写在头文件最后即可

最终效果如图:

我修改了描述和样式,如果你没修改,应该是黑色的
此方法可以隐藏黑框,并且可以隐藏任务管理器内的控制台进程。

以上是教程的全部内容。

[C/C++]多个源文件访问同一全局变量_extern声明

有三个源文件A、B、C需要共享一个全局变量count;(他们都有.h和.cpp)

正确的方法是:在头文件A.h中声明全局变量count(注:省略此声明依然可以通过编译,但是此声明表明了全局变量定义的位置,增加代码可读性);


```A.h

extern int a;       //声明

 

```A.cpp

#include "A.h"

int a = 3;            //定义

 

```B.cpp

#include "A.h"

extern int a;       //声明

 

```C.cpp

#include "A.h"

extern int a;       //声明

需要注意的是:链接属性为external的全局变量可以声明多次,但只能定义一次

因此不能够将全局变量定义在头文件中,否在会因为头文件被多次引用而造成变量多次定义,进而导致链接失败。

[C/C++] fopen函数的各种参数 r+ w+ a+ ab+

文件mode参数

函数 :

FILE *fopen(const char * path,const char * mode);

const char * mode具有以下参数:

r :打开只读文件,该文件必须存在。

w :打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

a :以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

rb :打开一个二进制文件,只允许读取操作

wb :打开(创建)一个二进制文件,只允许写入操作

ab :打开一个二进制文件,在文件后追加操作

r+ :具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容;

w+ :具有读写属性,写的时候如果文件存在,会被清空,从头开始写。

a+ :以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

rb+ :打开一个二进制文件,允许读写数据

wb+ :打开(创建)一个二进制文件,允许读写数据

ab+ :打开一个二进制文件,允许读或在文件末追加数据

退出移动版