控制台程序使用MFC类的方法】的更多相关文章

(unresolved external symbol __endthreadex解决办法) 1.新建控制台程序: 2.添加源代码如下: #include <afx.h> #include <stdio.h> int main() { int         lo, hi; CString     str; CStdioFile  pFile; pFile.Open("FIBO.DAT", CFile::modeWrite | CFile::modeCreate…
假设在C盘根目录下有个Dog的Dll程序集文件,该程序集文件中包含类Dog 该类中有个狗叫几声的方法,如何通过反射来加载这个C:\Dog.dll,并且调用Dog类里面的Sound方法呢: public class Dog { public void Sound(int count) { Console.WriteLine("叫了{0}声",count); } } 具体如下: 首先反射主要用到了System.Reflection命名空间,所以程序中一定要引用这个命名空间. using S…
1.添加#include <afx.h>或者<afxwin.h> 这时会报错1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #def…
一.什么是C运行时库 1)C运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等):所以,C 语言内核开发出来之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重写了 90% 以上的 UNIX 系统函数,并且把其中最常用的部分独立出来,形成头文件和对应的 LIBRARY…
1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的.C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念.所以这个时期的C运行时库都是单线程的. 随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题.C运行时库使用了多个全局变量(例如errno)和静态变量,这可能在多线程程序中引起冲突.假设两个线程都同时设置errno,其结果是后设置的errno会将先前的覆盖,用户…
在MFC的很多程序中,常常需要在回调函数中调用MFC类的类成员变量.类成员函数,亦或者对话框控件的句柄.由于回调函数是基于C编程的Windows SDK的技术,而类成员又有this指针客观条件限制...所以在回调函数中不能够直接访问类成员,或者操纵控制MFC对话框的控件. 虽然可以把回调函数设为类的静态成员函数,以便消除this指针的限制,但诸多不便(比如只能访问静态成员等)仍让人不能够顺畅访问类成员. 而下面这种方法便无需把回调函数设为类的静态成员,也能够顺利的访问类的成员和对话框控件. 1.…
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management [禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助.我们在MFC中使用字符串的相关操作,首先想到的就应该啊是CString,而不是char*或者string.那么关于CString 的相关内容,在这篇文章中就很好的解释. 我解决了一个具体的问题 /////显示结果     CString strResult = NULL;     CString strtmp    = …
用VS2017创建EXE带MFC类库方法 1. File --> New --> Project 2. Windows桌面向导 3. 勾选MFC类库 4. 创建成功 如果项目编译出错 1. 项目创建成功后编译报错界面 原因分析:缺少#include <afxwin.h>头文件. 解决方案:在#include "Project1.h"后面添加#include <afxwin.h>,编译通过. 如果上述方法不行,可参考下面解决方法,否则跳过以下内容. 原…
闲话 在很久很久以前,电脑是命令行/终端/控制台的天下,那屏幕上的光标在行云流水般的键盘敲击下欢快地飞跃着,那一行行的字符输出唰唰唰地滚动着--直到 Windows 95 的出现(那时候我还不知道苹果电脑和它的操作系统),我的鼠标终于不再召灰,开始有了用武之地,然后就是 GUI 的天下-- 然而世事就是这样,锦绣繁华之后就开始返璞归真,大鱼大肉太多就向往点粗茶淡饭,开车开久了就怀念起自行车,GUI 充斥的 Windows 的世界里似乎也开始挂起一阵控制台的清风.毕竟,一旦你熟悉了各种命令和参数,…
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我还是很操蛋的在QT下写控制台程序了,但是写完程序后运行时出现了如下情况. 程序运行了,但是控制台中居然只有一个光标在那儿跳啊跳.由于百度的姿势不对,废了好多时间,终于明白是因为qt creator不支持Gnome默认的终端gnome-terminal. 所以要换成XTerm的控制台. 具体的解决方式…
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台,有时候需要将界面隐藏起来.那么如何做呢? 方法1: 在头文件下加上一句预处理命令: #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置…
IE8 与 VS2005 冲突问题解决方法 问题表现为: MFC类向导添加类时,出现“当前页面的脚本发生错误”,进入MFC类向导后上方有一个小黄条“此网站的某个加载项运行失败.请检查"Internet选项"中的安全设置是否存在潜在冲突”,基类下拉框无项值,无法成功添加MFC类. 针对这一问题解决办法是: 添加一注册表项: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/Zones…
微信小程序数据来源,是通过接口实现的.但接口如何调,数据如何取?每个人都有不同的方法,下面以聚合数据免费接口为例. 配置接口 config.js 聚合数据请求接口需要以key作为参数. const config = { api_base_url: "http://apis.juhe.cn/goodbook", key: "93bdf89de207034fa6c7544f88b99c76" }; export { config } 封装 wx.request 方法 E…
以前在Visual Stuido 2010中运行正常的控制台程序,在Visual Studio 2015中出现乱码,找到<Visual Studio 2015的坑:中文字符串编译后成乱码>这篇文章,原来是某个cs文件的保存格式为ANSI,在保存按钮右侧有一个编码保存,用UTF8另存后,编译运行OK!…
unresolved external symbol __beginthreadex错误的解决Win32 Consle Application使用MFC的一些类如CString时编译时相信会很经常遇到一些连接错误:1. unresolved external symbol __beginthreadex2. unresolved external symbol __endthreadex但是不用MFC类又让人不甘心,放着好好的类库不用实在太可惜了.其实是可以用的,只是我们的设置有问题.下面我将具…
新建一个控制台程序,然后编译为 窗体程序.即可........…
 自动生成的C++控制台程序  认识预编译头  认识_tmain 一 .自动生成的控制台程序 二 .认识预编译头 StdAfx 所谓的预编译头就是把一个工程中的某一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件.这些预先编译好的代码可以是任何的C/C++代码,但是必须是稳定的,在工程开发的过程中不会被经常改变.如果这些代码被修改,则需要重新编译生成预编译头文件.生成预编译头文件很耗时间.预编译头文件通常很大,通常有6-7M大.应该及时清理那些没…
之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制不了解,竟然无从下手. 今天正准备阅读 Microsoft.Extensions.DependencyInjection 的源代码,发现园子里的一篇博文 ASP.NET Core 源码阅读笔记(1) ---Microsoft.Extensions.DependencyInjection,读后豁然开朗…
C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204)  (3)   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动态创建也一样使用的是反射,是属于反射的技术!也就是将对象或者数据映射成一个对象或者程序集保存起来而已. 首先我们需要了解每个动态类型在.net中都是用什么类型来表示的. 程序集:System.Reflection.Emit.AssemblyBuilder(定义并表示动态程序集) 构造函数:Syste…
看一下API中关于Object的介绍: 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 那么Object中到底有哪些方法,各自有什么应用呢?这个问题也经常出现在面试中,如果平时没有关注,可能很难回答好,这里简单整理一下. 首先看一下java.lang.Object的源码: public class Object { private static native void registerNatives(); static { r…
1.类库项目引用System.Windows.Forms并添加引用后,才可创建窗体. 2.控制台应用程序调用中间库(DLL)中的方法创建窗体:中间类库使用反射下的Assembly加载包含窗体的类库及创建实例. 注意:1)创建实例时,参数为窗体类的全名(命名空间+类名).    2)返回值是Object类型,需转化为Form类型. 3)exe(控制台程序).中间类库(dll).窗体所在类库(dll)在同一目录下. 4)Load(空间名,窗体类全名),LoadFrom(*.dll,窗体类全名) 具体…
winfrom窗体加载控制台程序,可以自定方输出语句颜色,如下图所示 怎么实现的此功能,网上有大把的方法,我这里已经把方法打包成了一个类,只需要引用调用就可以使用了,写的比较粗糙,如有发现需要改进的地方欢迎提出! 至于使用方法很简单,把这个类复制到解决方案中,在引用 LLog , 另外在 程序初始化下面加上 XLog.AllocConsole();  就可以在想使用的地方调用方法 XLog.Logx() 使用了, 如图所示: 注意:图片中显示 [/c15] xxxxxx[/c16] 必须成对出现…
Supervisor 相信对Linux系统很熟的都知道这个软件,基于Python写的一个守护进程软件.具体的介绍和使用我就不再赘述了. 使用asp.net core 部署在Linux常用的方法 我们可以用Docker.Jexus .Supervisor等.具体应该使用哪个,因不同的软件都有各自的优缺点,根据自身应用的场景选择一个即可. 在使用Supervisor  部署asp.net core的时候通常我们只要在supervisord.d 目录中添加对应的配置文件如xxx.ini或xxx.con…
背景介绍 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度.在.NET Core MVC中 我们可以在Startup.cs文件的ConfigureService方法中使用服务容器IServiceCollection注册接口及其实现类的映射. 例如,当我们需要访问Http上下文时,我们需要配置IHttpContextAccessor接口及其实现类HttpContextAccessor public void ConfigureSe…
空项目,大多数想单纯创建c++工程的新同学,打开vs后很可能不知道选择创建什么工程,这时候请相信我,空项目是你最好的选择.因为空工程不包含任何的源代码文件,接下来你只需要在相应的源代码文件夹和头文件文件夹加入相应的.cpp和.h文件即可.(注:对于首次使用vs的新同学来说,运行程序的时候很可能,闪一下就不见了,请不要着急,这是因为vs软件本书没有加上停止的代码,我们自己动手加上就好了.每次写程序的时候,我们需要include头文件stdlib.h,然后在程序末尾加上system(“pause”)…
.net core这个名字对.net程序员来说都不陌生了,但貌似圈子里真正有开发经验的并不多,关键是公司的项目没需求. 今天我就趁着不忙上手玩了玩,搞明白了一些东西,心中也有了十万个为什么.那么现在与大家分享一下我这次玩耍的经历. 在系统中创建一个将要存放工程的目录(我的是F:\Researches\20180409 dotnetcore\test00) 打开一个cmd程序,定位到这个目录,使用dotnet new console命令(用命令行程序模板创建一个工程) 提示成功,在我们的目录中看到…
最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用…
在Windows7系统下,采用工具为VS2008,Win32控制台应用程序,编写一个基于TCP的Client/Server网络程序. 1.服务器端代码 #include <WinSock2.h> #include <stdio.h> //VS2012创建的MFC Win32控制台应用程序中,此处默认包含的是#include "stdafx.h",其中stdio.h头文件已经被包含进stdafx.h中了,不再需要重复包含 #define SERVERPORT 60…
第一添加log4net.config,这里配置包括信息提示写入,错误信息写入,控制台消息展示 <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,…
using CoreImportDataApp.Common; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; using CoreImportDataApp.Services; using NLog;//NLog.Extensions.Logging 和NLog.Web.AspNetCore两个类库. using Microsoft.E…