1.在项目自动生成的stdafx.h文件中添加下面头文件 #include <io.h> #include <fcntl.h> #include <stdio.h>   2.把下面的函数加到你初始化的地方,然后你就可以使用printf函数了 void InitConsoleWindow() {     int nCrt = 0;     FILE* fp;     AllocConsole();     nCrt = _open_osfhandle((long)GetS…
1.#include <conio.h> 2.在需要开启控制台窗口的地方调用 AllocConsole();//注意检查返回值 3.在需要输出调试的时候调用_cprintf等函数 如_cprintf("i=%d\n", i); 4.关闭控制台的时候调用 FreeConsole(); 注意:上述方法在输出中文时会出现乱码,如果需要输出中文,请使用下面的方法: AllocConsole(); freopen( "CONOUT$","w",…
怀念C语言的我,MFC没法使用的C语言printf函数,于是: int MFCprintf(const char* m_data, ...){ CString str; char printf_buf[1024]; va_list args; /* args为定义的一个指向可变参数的变量,va_list以及下边要用到的va_start,va_end都是是在定义 可变参数函数中必须要用到宏, 在stdarg.h头文件中定义 */ int printed; va_start(args, m_data…
[前(fei)言(hua)] 写LL(1)分析器被CString转string卡了一个多小时也是醉了. 趁着还算清醒写下这次用到的控件的使用方法好了. 这次实验的mfc用到了四个控件:Edit Control, MFC Edit Browse Control,Button和List Control.List Control的用法在之前写过.所以话不多说,介绍余下三个控件的用法. [Edit Control的用法] 把控件拖到对话框的摆放位置,右键类向导,选到成员变量,双击设置,类型选择Value…
有的时候,我们用c写的一些东西,可能需要MFC作为UI输入参数进行测试,但是程序里有大量的printf操作,这就需要MFC程序启动的时候同时打开 一个控制台,用于标准输出 查询网络,大致方法有以下两种 1,添加一个全局函数,内容如下,再程序启动的时候调用   void InitConsoleWindow()   {   int nCrt = 0;   FILE* fp;   AllocConsole();   nCrt = _open_osfhandle((long)GetStdHandle(S…
Log4j 2.0在近期迎来了重大的版本号升级.攻克了1.x中死锁bug之外,性能也有10倍的提升. 相同的在最新版本号中的新特性中. 配置文件也不只局限于xml和java特性文件properties. 更是支持json和yaml的配置文件. 日志的使用在我们日常开发中经经常使用到.也有非常多的高手遇到过日志死锁问题.在2.0中引入了异步日志处理. 死锁问题得以解决. 好吧,介绍了这么多,进入它的helloworld吧. 今天看看它的简单配置. 配置输出到console的日志记录器,而且为inf…
/************************************************************************/ /* 模块名:ConsoleAdapter 文件名:ConsoleAdapter.h 功 能:为非控制台程序提供控制台输出窗口 参 考: 1. http://www.codeproject.com/Articles/15836/Writing-to-and-read-from-the-console-From-a-GUI-ap ----------…
此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 CString. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习.这篇文章就来讨论这些技巧. 使用CString可以让你对字符串的…
一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装.对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\:对于64位系统,为:C:\Windows\SysWOW64\Macromed\Flash. Flash控件的大版本号用数字表示,如9,10,11等,小版本…
①进入bochs官网下载源码包 说明 用安装包直接安装没有调试功能 下载源码包步骤 a.输入网址:http://bochs.sourceforge.net/ b.单击图中红色标注图标 c.单击图中红色标注图标,下载源码包 d.以上步骤完成源码包的下载 ②解压源码包 a.将下载的源码包放入ubuntu系统中的一个目录中 b.使用命令:tar -zxvf bochs-2.6.9.tar.gz 说明:将源码包解压到当前目录 c.使用命令:cd bochs-2.6.9/ 说明:进入解压源码包的源码目录…
MFC中把线程分为两种类型,UI线程和工作者线程. MFC中启动一个线程的最好方法是调用AfxBeginThread,有两个版本,一个用于启动Ui线程,另外一个用于启动工作者线程.在MFC程序中,只有在线程不使用MFC库时,才可以使用Win32的CreateThread函数来创建线程.AfxBeginThread不仅仅是对CreateThread函数的封装,它还会初始化主结构使用的内部状态信息,在不同的地方执行合理的检查,确保以线程安全的方式访问运行时库中的函数. 工作线程的创建 调用AfxBe…
MFC中CTime类的功能非常强大,可以获取年.月.日.小时.分钟.秒.星期等等,最最重要的是可根据需要去格式化.下面是具体的使用方式: ① 定义一个CTime类对象 CTime time; ② 得到当前时间 time = CTime::GetCurrentTime(); ③ GetYear( ),GetMonth( ), GetDay( ), GetHour( ), GetMinute( ), GetSecond( ), GetDayOfWeek( ) 返回整型(int)对应项目 ④ 将当前时…
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多.此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序. 一.使用MFC向导创建程序 (1)单文档(文档/视图结构) (2)不需要状态栏和工具栏 (3)使用CFormView作为基类 (4)使用向…
出自http://my.oschina.net/ypimgt/blog/62573 一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装.对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\:对于64位系统,为:C:\Windows\SysWOW64\Macro…
断点调试功能可谓是程序员必备的功能了.Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的.不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器.而用Visual Studio是不行的.听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过阿赵我本人没试过.           好了,简单的说说做法吧:   首先肯定是先要把脚本编辑器指定为MonoDevelop了.   选择好之后,可以在项目面板…
有时候想调试线上的程序 可以启用远程调试功能 在本地调试远程代码. 远程JVM启用调试模式 /usr/local/jdk/bin/java -server -Xms256m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=128m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1506 -jar /home/web/api-1.0-SNAPSHOT/lib/api-1.0-SN…
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management [禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助.我们在MFC中使用字符串的相关操作,首先想到的就应该啊是CString,而不是char*或者string.那么关于CString 的相关内容,在这篇文章中就很好的解释. 我解决了一个具体的问题 /////显示结果     CString strResult = NULL;     CString strtmp    = …
断点调试功能可谓是程序员必备的功能了.Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调 试的.不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器.而用Visual Studio是不行的.听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过阿赵我本人没试过.           好了,简单的说说做法吧:   首先肯定是先要把脚本编辑器指定为MonoDevelop了.   选择好之后,可以在项目面…
搞过MFC的人都知道cstring,给我们提供了非常多便利的方法. CString 是一种非常实用的数据类型. 它们非常大程度上简化了MFC中的很多操作,使得MFC在做字符串操作的时候方便了非常多.无论如何,使用CString有非常多特殊的技巧,特别是对于纯C背景下走出来的程序猿来说有点难以学习. 可是非常多情况下,我们还是须要cstring和string的转换. 分两步: 1把cstring转为char数组 2依据char数组,构造自己的string(记得释放内存) std::string C…
原文链接:http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/    断点调试功能可谓是程序员必备的功能了.Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的.   调试有两种方式,一种是使用visual studio配合unityVS来调试,另一种是使用MonoDevelop自带的调试功能. 先说unityVS的.感谢网友的提醒,unityVS已经被微软收购,现…
微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境, 通过这个IDE环境,可以建立psl文件,可以调试psl文件. 1.IDE界面 我们看一下IDE环境的界面: 如图所示: IDE环境被分成了三个窗格,这个窗格的布局可以自定义.其中左上角的窗格是输出窗格,在IDE中执行的结果 通过它输出:左下角的窗口是交互窗格,也叫做命令窗格,可以在里面输入要执行的命令,同时这个窗格还会提示当前的工作路径, 上图的工作路径是:C:\users\vo…
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多.此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序. 一.使用MFC向导创建程序 (1)单文档(文档/视图结构) (2)不需要状态栏和工具栏 (3)使用CFormView作为基类…
一,需求来源 在开发过程中,可能会要使用Win7 ,Win8 ,Win10等不同版本的系统去做兼容性调试,也有时候会去针对特别的显卡,无线网卡等等硬件设备的机器做优化,有一种较优的方案,那就是使用Visual Stadio的远程调试功能,可以直接将测试机作为调试目标,直接跟踪断点和异常,可以像在本机调试一样,迅速的找到错误的地方.,而不需要在测试机安装VS环境. >传统桌面客户端的远程调试相比UWP,ASP等项目来说,配置比较麻烦,因为它是非部署的应用程序,原理是复制编译的文件到远程计算机,通过…
CLion远程调试嵌入式开发板程序 目录 CLion远程调试嵌入式开发板程序 1. 目的 2. 前提条件 3. CLion设置 3.1 设置一个Deployment 3.2 上传需要的目录到目标板子 3.3 设置一个Remote GDB Server 总结 1. 目的 有时候我们的程序在板端运行崩溃,或不符合预期或者单纯想要单步调试去查看一些变量.很多时候我们不得不加很多打印语句或用gdb 调试.不够直观和方便.clion可以说是现在linux平台最好的C++ IDE了,clion还提供了rem…
最近做的一个hadoop项目中,用MR实现了一个比较复杂的问题,其中的日志信息都是使用的是log4j来处理的.但不知怎么控制台不输出日志信息,只能输出System.out.println()信息,这个调试带了很多的麻烦 再次记录一下,怎么在控制台输出日志信息. 在debug模式中,选择Arguments,在底下的VM arguments中输入“-Dlog4j.debug”即可.如下图…
一.  介绍 System.out.printf 与 C语言中的 printf 使用方法类似,可以向控制台(Console) 输出指定格式的内容.使用  System.out.printf 的方法比使用操作符 ‘+’进行拼接的方法要更加清晰.简介,前者只需要定义好输出格式和占位置的值,而后者需要用 ‘+’进行拼接,在显示变量较多的情况下需要用到大量的’+’,  一旦非变量内容需要进行大量修改,后者改动量更大. 二.  常用控制符 控制符 说明 %d 按十进制整型数据的实际长度输出. %ld 输出…
原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…
一.什么是C运行时库 1)C运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等):所以,C 语言内核开发出来之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重写了 90% 以上的 UNIX 系统函数,并且把其中最常用的部分独立出来,形成头文件和对应的 LIBRARY…
1.在MFC的应用类的InitInstance()函数里添加: AllocConsole(); 有时候需要调整这行代码在InitInstance函数的位置 2.继续添加以下代码 freopen("CONIN$","r",stdin); freopen("CONOUT$","w",stdout); freopen("CONOUT$","w",stderr); 3.在应用类的ExitInst…
转载地址:http://www.cnitblog.com/martin/archive/2006/04/21/9460.html 首先,应该是MFC报告我们发现内存泄漏.注意:要多运行几次,以确定输出的内容不变,特别是{}之间的数值,不能变,否则下面的方法就不好用了. 我们来看看:     bytes  long . Data:  <            >  1F 1F 1F 1F 1F CD CD CD CD CD  ) 告诉我们MFC认为是在该文件的54行,发生了内存泄漏.你双击改行就…