MFC上如何实现登录到linux系统

博客访问: 1669271
博文数量: 218
博客积分: 5767
博客等级: 大校
技术积分: 5811
注册时间:
分类: WINDOWS 16:00:12
1、在项目自动生成的stdafx.h文件中添加下面头文件
#include #include #include
2、把下面的函数加到你初始化的地方,然后你就可以使用printf函数了
void InitConsoleWindow(){&&& int nCrt = 0;&&& FILE*&&& AllocConsole();&&& nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);&&& fp = _fdopen(nCrt, "w");&&& *stdout = *&&& setvbuf(stdout, NULL, _IONBF, 0);}
以下红色部分是我初始化函数中添加的BOOL CSerialPortptestDlg::OnInitDialog(){&CDialogEx::OnInitDialog();
& CS&int&&& I&HKEY&& hK&LONG&&&& & OSVERSIONINFO&&&&&& & BOOL&& bOsVersionInfoEx;&& &char&& keyinfo[100],comm_name[200],ValueName[200];&& &int&&&& &DWORD&& sType,Reserved,cbData,cbValueN&// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动&//& 执行此操作&SetIcon(m_hIcon, TRUE);&&&// 设置大图标&SetIcon(m_hIcon, FALSE);&&// 设置小图标&InitConsoleWindow();
&printf( "str&& =&& %s\n ",&& "debug");
调用此函数后会弹出一个CONSOLE,然后printf的东西就会出现在上面。
阅读(13993) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
请登录后评论。如何将MFC程序移植到linux上,欢迎各抒己见?
[问题点数:0分]
本版专家分:664
结帖率 100%
CSDN今日推荐
本版专家分:664
本版专家分:2097
本版专家分:438
2001年12月 专题开发/技术/项目大版内专家分月排行榜第二
本版专家分:1402
本版专家分:664
本版专家分:220
本版专家分:664
本版专家分:2
匿名用户不能发表回复!|
其他相关推荐
Linux下拥有丰富的代码,github等Linux代码集散区都有大量的Linux代码,因此若能够移植到windows下使用,能够很好地促进开发。
通常的开源代码中都预留了visual studio的工程接口,无论是直接的还是CMake通过CMakeList生成的。此外还有一些并非visual studio接口,因此对我们使用visual studio进行利用有很大的不便。此时就需要使用Cygw
:VS虽号称“宇宙最强IDE”,但是有时候安装包太大,动不动就几个G;而且安装好之后也会多出很多几乎很难用到的部分,这对于那些处女座的人如何忍受!本文不是吐槽,而是给出一种在应急场景下,不用安装新版本几个G的IDE,而是将高版本的工程移植到低版本的IDE中,并使其工作和调试的解决方法~
VS2013版本MFC工程移植到VC6.0上
1、场景再现
我最近搞了个u
今天帮朋友从Windows下移植一个小程序到Linux下,遇到了两个问题,在这里分享一下解决方法。
刚开始觉得,移植应该很简单,就是重新再Linux下编译一次就可以了。但是遇到了,不少问题。下面一一说明。
1、fopen_s()函数报错。
原因是,fopen_s()这个函数并不是标准的C++库中的函数,是微软特有的,也就是说如果你用VS编译不会有问题,但是如果你
前段时间,公司需要把一份Windows下的代码在Android设备上跑起来,个人花了个把月的时间憋出了个问题。
在移植的过程中遇到了无数的问题,现在把其中部分问题列出供有需要的人参考。
问题并不是个人解决的,都是从Internet查到的资源,有些有链接,有些没有链接,供大家一看。
问题描述:
try{} catch(...){}
今天下午,客户反映我们系统的API在Linux下使用时有点问题。发布主管,想在本地做个测试,但是目前现有的Demo程序只有windows版本的,所以找到负责API的我,把该Demo程序从Windows移植到Linux。
问题及解决方案
windows下的vsnprintf_s在Linux下该替换为什么呢?
解决方法:
Linux下可以采用vs
用了一个月的时候终于用VS2008把“PCIBOX工具集”写完,在本机上运行好好的,但移植到其他PC上就出错了。
移植遇到的情况以及发生原因和解决方法:
1、运行的时候提示“由于应用程序的配置不正确,应用程序未能启动,重新安装...”,通常这个提示都是说明程序运行时缺乏必需的
需要的条件:1.上位机编译好的可执行文件,以hello为例在虚拟机的ubuntu下,写好代码之后,定位到当前目录,执行命令$ qmake -project //生成工程文件.pro$ qmake
//生成makefile$ make
//生成可执行文件hello 注意这些命令是在arm版的qt环境下的编译命令!执行qmake -v可查看其是否是arm版本,使用的是否是arm的库!执行file hello 可以查看hello是否是arm下运行的程序!2.
最近, 将自己先前一个linux C++程序移植到 windows 上. 总结若干注意事项如下:1. 文件路径表示格式不同
/home/abc/
D:/path1/abc/2. 临时路径获取方式不通3. linux中, 文件没有文本文件和二进制之分, 实际上都是二进制文件.
windows中, 文件打开模式有文本方式和二进制方式之分, 且默认为文本方式, 而linux没有区分, 全部是
使用cygwin移植Linux的项目到Windows下之总结
关键字: cygwin,MinGW,移植,Linux,Windows
接到一个任务,把公司的某个在Linux下开发的项目(也就是一个程序啦)移植到Windows下,使得其可以在Windows下运行,并且运行的结果当然要是正确的啦,何谓正确,当然就是和Linux运行结果比对,一样就行。
二、难在何处健康 有价值的生活
MFC 连接linux服务器上的mysql数据库
首先安装MySQL,vs2013。
安装完成后,你可以看到有几个文件夹,lib,include。
①我们需要在MFC的主程序里面,选择,项目-&属性-》配置属性-》C/C++里面的附加包含目录里面将mysql安装包里面的include文件夹的路径复制进去。
②要将lib文件夹里面的
libmysql.lib,libmysql.dll 两个文件拷贝到当前MFC的程序中含有头文件.h和.cpp文件的目录里面。
③在VC++工程的.h文件上面加入下面代码部分:
#include&winsock2.h&
#include"mysql.h"
④在点击响应里面添加:
在此添加控件通知处理程序代码
mysql_init(&mysql);
// localhost:服务器 root为账号密码 test为数据库名 3306为端口
if (!mysql_real_connect(&mysql, "192.168.239.128", "root", "zcl", "zhouchenglin", 3306, NULL, 0)){
const char * s = mysql_error(&mysql);
// a.Format(L"%s", mysql_error(&mysql));
a = UTF8ToUnicode((char*)s);
AfxMessageBox(a);
AfxMessageBox(_T("数据库连接失败!"));
AfxMessageBox(_T("数据库连接成功!"));
MYSQL_RES *
MYSQL_ROW sql_
MYSQL_FIELD *
mysql_query(&mysql, "set names utf8");
int flag = mysql_query(&mysql, "select * from Commont");
if (!flag)
result = mysql_store_result(&mysql);//保存查询到的数据到result
if (result)
m_edit_temp.SetWindowText(str);
while (sql_row = mysql_fetch_row(result))//获取具体的数据
for (i = 0; i & mysql_field_count(&mysql); i++){
str = UTF8ToUnicode(sql_row[i]);
AfxMessageBox(str);
if (result != NULL)
mysql_free_result(result);
}这样就可以连上mysql了
但同时又是Linux服务器是不允许3306这个接口的,需要我们自己去修改配置文件,这样才能成功。
(1)确认一下3306是否对外开放,MySQL默认状态下是不开放对外访问功能的。查看的办法如下:
在linux里面执行命令~# netstat -an | grep 3306
0 127.0.0.1:3306
从上面可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
将bind-address注释掉,或者改成你想要使用的客户端主机IP。
这样mysql的远程访问端口就算开启了,下面还有一个更重要的步骤,就是要给远程用户授权。
(2)确认客户端用户是否具有访问权限。
为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:
mysql& grant all on *.* to user_name@'%' identified by 'user_password';
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。
完成上面的两个步骤,重启mysql即可在远程登陆mysql服务器了。Mysql的重启命令如下:
sudo /etc/init.d/mysql restart
上面只是简单的一些介绍,不能包治百病,具体的情况还需要根据自己的运行环境来定,希望对大家有所帮助。
下面是具体步骤:
1.sudo gedit /etc/mysql.my.cnf
找到bind-address =127.0.0.1
修改为bind-address =0.0.0.0
2.sudo /etc/init.d/ mysql restart
在这种情况下如果再尝试远程连接,则会报出ERROR 1130 (HY000): Host '211.87.***.***'is not allowed to connect to this MySQL server提示信息,不能远程连接数据库。
在MySQL host上按如下命令操作
mysql -u root -ppassword //进入mysql控制台
mysql&update user set host = '%' where user = 'root'; //这个命令执行错误时可略过
mysql&select host, //检查‘%’ 是否插入到数据库中
mysql&quit
可以去看下这个链接:http://www.cnblogs.com/joseph2012/archive//2413090.html
在编程的过程还遇到一个问题,就是使用其他数据库账号时,链接不上,这个主要是因为mysql没有授权,只需要登录mysql数据库,将mysql数据库里面的user中的Host的字段中的localhost改为%号,重启mysql即可。
MFC远程连接linux服务器(centos)上的mysql数据库
VS中MFC连接MySQL的方法
Linux上安装MySQL数据库
没有更多推荐了,设计Linux下的QT程序,我找到了windows下MFC的c++程序了,怎样才能将MFC的转换为QT程序呢?求高手指点!_百度知道
设计Linux下的QT程序,我找到了windows下MFC的c++程序了,怎样才能将MFC的转换为QT程序呢?求高手指点!
是关于文件传输软件设计的,已经在网上查到了c++代码不过是windows下mfc的界面,我想是不是可以稍微改改代码就能转换到linux下用qt做继续开发呢,因为qt也是用c++的,所以大部分还是可...
是关于文件传输软件设计的,已经在网上查到了c++代码不过是windows下mfc的界面,我想是不是可以稍微改改代码就能转换到linux下用qt做继续开发呢,因为qt也是用c++的,所以大部分还是可以用的,如果有高手会的话,望指点!谢谢!
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:582
获赞数:4671
①不能。②MFC是微软基础类库,是win32 sdk 的进一步封装,本质是调用win32 api.③Qt在linux下的版本,是基于Qt框架接口标准,由于是可移植的,所以win32下qt可以容易移植到linux下,但是Qt和MFC内部实现和外部框架结构完全不同,这才是关键。④语言一样,框架不一样,MFC与QT是有很大差别的,调用的函数都大不一样。 ⑤如果你会C++,就买本Qt的书,做一个文件传输不难。
擅长:暂未定制
界面部分肯定要全部重写,另外还有平台的问题,如果程序比较大的话会很麻烦。
采纳数:113
获赞数:727
如果你的代码写的好移植是很方便的,纯C++的写到一块、MFC写到一块,在界面中调用C++中的算法,把算法看懂,把界面提出来。纯C++的有关算法可以在你的QT中直接使用,也就是把源文件直接拷贝过去,界面用QT写一编,问题不大。
采纳数:144
获赞数:328
学习MFC的算法在QT中找相应的可以实现的类库然后重构。
采纳数:1550
获赞数:4434
架构不一样,如果是复杂的GUI项目,估计 80%以上的代码都需要重新写的就像 两个牌子的车 互换零部件一样,里面的部件和设计方式是明显不一样的,不能简单的更换.
其他2条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。windows下,MFC 怎么能同时telnet多台linux,并发送执行脚本的命令?_百度知道
windows下,MFC 怎么能同时telnet多台linux,并发送执行脚本的命令?
发送完命令就退出,脚本后台执行...
发送完命令就退出,脚本后台执行
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
采纳数:4320
获赞数:7886
参与团队:
两个选择:1、手工编写一个telnet命令和发送脚本的批处理;2、用这个工具:SecureCRT将写好的脚本,设定到TELNET连接地址中,也可以实现。
批处理是不是一台处理完了才能开始下一台?我需要的是同时处理
这点不是什么问题,问题是批处理编写的水平和含量,是否OK.
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 linux下载 的文章

 

随机推荐