我在Visual Studio设置了GTK的开发环境。GTK2,虽然GTK3现在也比较成熟了,但是一直没有找到一个有效的All in one Bundle, 就放弃了,GTK2目前的资料也是比较多的,gnome上也支持GTK2的API查询。

话会正题。

在Visual Studio上编写GTK程序,在运行的时候,总是会出现一个黑乎乎的cmd,比较影响美观。似乎不只是Visual Studio上有,其他程序开发出来的都有吧,我看了一些贴吧,好像也有同学问到了这个问题。

其实设置的方法很简单,我也是参看了别人类似的解决方法,才想到的。
附上别人的连接地址
http://blog.csdn.net/sunmingming512/article/details/23842571
原理这个人已经说清楚了。

如果想不出现cmd,就需要把/subsystem设置为window,而设置了window,系统默认会去程序中找WinMain()入口函数,我们需要把这个默认的入口函数改为我们的main函数就行了,也就是把/entry改为mainCRTStartup。

也就是在项目中要设置两项,一是/subsystem,二是/entry。
可以利用预编译实现

#ifdef _MSC_VER
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#endif  

也可以在项目属性中改,这两个属性分别为
【属性】-【通用属性】-【链接器】-【系统】-【子系统】(值:窗口)
【属性】-【通用属性】-【链接器】-【高级】-【入口点】(值:mainCRTStartup)

这样就行了。

附带一个GTK2样例(采用后者第二种配置方式,然后把这个项目改成项目模板,导入visual studio中,以后就不用设置了)

#include <gtk/gtk.h>
#include <stdio.h>void CloseRequest(GtkWidget *thewindow, gpointer data);gint main(gint argc, gchar *argv[])
{GtkWidget *window;gtk_init(&argc, &argv);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(CloseRequest), NULL);gtk_widget_show(window);printf("Hello GTK\n");gtk_main();return 0;
}void CloseRequest(GtkWidget *thewindow, gpointer data)
{gtk_main_quit();
}

在Visual Studio设置隐藏cmd,GTK程序有效相关推荐

  1. 解决Visual Studio 2017隐藏“高级保存选项”命令

    解决Visual Studio 2017隐藏"高级保存选项"命令 Visual Studio提供高级保存选项功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual ...

  2. 在Visual Studio上开发Node.js程序

    在Visual Studio上开发Node.js程序 原文:在Visual Studio上开发Node.js程序 [题外话] 最近准备用Node.js做些东西,于是找找看能否有Visual Studi ...

  3. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure

    [题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...

  4. Visual Studio 编写纯C语言程序

    本篇文章讲述如何用微软的 Visual Studio 编写纯C语言程序,这里的纯C语言,指的是 ANSI C 语言. 要在 Visual Studio 里创建一个 ANSI C语言程序,请按以下步骤执 ...

  5. 如何用 Visual Studio 2017 开发 Arduino 应用程序

    如何用 Visual Studio 2017 开发 Arduino 应用程序 使用Visual Studio 2017 开发 Arduino 应用程序需要两个软件: Visual Studio Vis ...

  6. mysql2005编辑器用法,文本编辑器 - Visual Studio的隐藏功能(2005-2010)?

    文本编辑器 - Visual Studio的隐藏功能(2005-2010)? Visual Studio是如此庞大的产品,即使经过多年的努力,我偶尔偶然发现了一种新的/更好的方式来做我甚至不知道的事情 ...

  7. 使用 Visual Studio 分析器找出应用程序瓶颈(转)

    使用 Visual Studio 分析器找出应用程序瓶颈 Hari Pulapaka and Boris Vidolov 本文讨论: 以性能瓶颈为目标 应用程序代码分析 比较分析数据 性能报告 本文使 ...

  8. 使用 Visual Studio 调试 .NET 控制台应用程序

    本教程介绍了 Visual Studio 中提供的调试工具. 先决条件 本教程适用于在使用 Visual Studio 创建 .NET 控制台应用程序中创建的控制台应用. 使用"调试&quo ...

  9. Visual Studio 2010 调试 C 语言程序

    转:http://woyouxian.net/c/using_visual_studio_write_pure_ansi_c_program.html 本篇文章讲述如何用微软的 Visual Stud ...

最新文章

  1. .NET 缩略图服务器 ResizingServer
  2. C++右值引用的参考
  3. Learn OpenGL(三)——顶点着色器(Vertext Shader)
  4. qt 创建第二个ui_Qt自定义提示信息弹窗
  5. 计算机控制机器人运动的原理,工业机器人控制系统的基本原理
  6. 2种方式!带你快速实现前端截图
  7. iPad商标门--苹果败诉,,之后是和解么???
  8. CSI笔记【12】:阵列信号处理及MATLAB实现(第2版)阅读随笔(四)
  9. 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在Java中的使用示例
  10. Dubbo的Api+Provider+Customer示例(IDEA+Maven+Springboot+dubbo)
  11. 程序员的奋斗史(二十八)——寒门再难出贵子?
  12. visualVM 介绍 (一)
  13. 【转载】xp用户自动登录
  14. syscall常量解释(持续完善中)
  15. 《嵌入式 - 嵌入式大杂烩》PNP与NPN三极管的原理与使用方法
  16. c#图片base64去转义字符_c#中图片与base64互相转换
  17. 中山大学计算机在职研究生分数线,报考中山大学在职研究生考多少分算及格?...
  18. jython 简单入门
  19. 条码打印软件如何制作同时包含日期和流水码的条形码
  20. PTA甲 1152~1155题解

热门文章

  1. JavaScript操作文件(2)
  2. 移动机器人传感器---IMU
  3. 如何有效使用Project(1)——编制进度计划、保存基准
  4. badboy 不支持html5,html5_iframe.htm
  5. 基类的析构函数不能被继承。_为什么要把C++类中的析构函数声明为虚函数?
  6. java连接rabbitmq_没用过消息队列?一文带你体验RabbitMQ收发消息
  7. restful post请求_猿蜕变9——一文搞定SpringMVC的RESTFul套路
  8. 更改开机默认不显示explorer.exe,直接启动自己写的EXE程序方法
  9. Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
  10. 转圈显示的Java程序和两矩阵相乘