.net替代不了MFC吗???

sd2131512 2008-08-29 09:30:23
辛辛苦苦用c#做了一个form界面,结果用户反应安装时必须要先安装.net2.0太麻烦了,而且速度比MFC慢

所以还得用MFC来实现


那么WPF还要用到.net3.0以上,看样子用户是更不可能接受了,不知道微软还在.net上开发那么多干什么,没人愿意用啊
...全文
406 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
sd2131512 2008-09-24
  • 打赏
  • 举报
回复
ai
sd2131512 2008-08-31
  • 打赏
  • 举报
回复
现在的用户都比较懒,如果他们用你的软件前都要安装个.net2.0甚至3.0,他们就感觉非常的不爽

大家都知道安装.net的时间那个久......更何况等那么9后还可能弹出安装失败....用户那个抓狂啊



win2000等系统还不能安装.net3.0 ......
guigangsky 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 welcom688 的回复:]
速度只是一个方面.但不是最重要的.
随着硬件水平的发展,这些东西都是容易解决的.

.net真正强大的地方在于它的跨语言,它设计的目的是用来取代COM的.这一点C++是做不了的.
换句话说,C++能做到的.net都能做;.net能做的,C++做不了.
[/Quote]

错了,c++能做的c#根本做不了,比如驱动程序,操作系统,底层的东西等等c#是不行的. c#的优点开发快,代码简洁.如果微软不让.net 跨平台迟早会玩完的,虽然mono可以但是毕竟不是微软的支持很多东西用不了,何况微软已经把中心放在互联网上以至于c#这门语言流行程度开始下降.
li45214521 2008-08-30
  • 打赏
  • 举报
回复
WPF 会淘汰MFC的
welcom688 2008-08-30
  • 打赏
  • 举报
回复
速度只是一个方面.但不是最重要的.
随着硬件水平的发展,这些东西都是容易解决的.

.net真正强大的地方在于它的跨语言,它设计的目的是用来取代COM的.这一点C++是做不了的.
换句话说,C++能做到的.net都能做;.net能做的,C++做不了.
格拉 2008-08-30
  • 打赏
  • 举报
回复
没办法!打工的,人让改就得改!
哎!~
西安风影 2008-08-30
  • 打赏
  • 举报
回复
mfc和.net不是一个东西,没得比
youlanbeilei 2008-08-30
  • 打赏
  • 举报
回复
.net 让人又爱又恨
coder喜欢
用户讨厌
zhangxuyu1118 2008-08-30
  • 打赏
  • 举报
回复
个人觉得,.net是这么回事:
1、增加了1层FRAMWORK作为低层系统的API,以此可以实现跨多个操作系统(虽然目前只是在WINDOWS);
2、c#等各种语言只做和API层相关且有限的上层内容;
3、net是无法取代COM的,.net自身就极度的依赖COM,或者是更加好的COM
4、机器语言-》汇编-》C -》C++ -》C#是 编程语言的发展,但最终目标是一样的,是为了生成最后的010101,虽然现在很少用原始的机器语言比如打孔来写2进制代码了,但你能说2进制代码没用了吗?
5、应不同的需求选择而用。开发嵌入设备的程序、操作系统驱动,目前主要流行C(不能排除以后有更好的语言代替,但估计不会是C#);开发基于PC的上层应用,那可以选择的多了,.net是主流的之一而已。。。
ateen 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 clxcxx 的回复:]
没办法!打工的,人让改就得改!
哎!~
[/Quote]
CODE163 2008-08-30
  • 打赏
  • 举报
回复
C++学 .Net 更要学 MFC 看着办
healer_kx 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 xb_feng 的回复:]
等C#完全替代C++的哪一天,.net就替代MFC了。

有这一天吗?
[/Quote]

没有。。。
xb_feng 2008-08-30
  • 打赏
  • 举报
回复
等C#完全替代C++的哪一天,.net就替代MFC了。

有这一天吗?
Zeteyu 2008-08-30
  • 打赏
  • 举报
回复
期待vista成主流吧,整合framework

也就是做不了通用软件,写几百K的东西装个20M的
做那些内用软件还可以嘛,开发快,避开讨厌的GUI编码
aimeast 2008-08-30
  • 打赏
  • 举报
回复
只能说目前是怎么都不能被代替的。

以后就说不定了。

个人觉得被代替的希望很大。
LQknife 2008-08-30
  • 打赏
  • 举报
回复
微软都在进步
worldhj1 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 winxieddd 的回复:]
这个比较有什么意义??
各有各的长处,并且用的地方也不同.
[/Quote]
你很牛........
jietuan 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 clxcxx 的回复:]
没办法!打工的,人让改就得改!
哎!~
[/Quote]

心态最重要了,客户是付钱的;当然无理的就不能改
ChrisAK 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 guigangsky 的回复:]
引用 4 楼 welcom688 的回复:
速度只是一个方面.但不是最重要的.
随着硬件水平的发展,这些东西都是容易解决的.

.net真正强大的地方在于它的跨语言,它设计的目的是用来取代COM的.这一点C++是做不了的.
换句话说,C++能做到的.net都能做;.net能做的,C++做不了.


错了,c++能做的c#根本做不了,比如驱动程序,操作系统,底层的东西等等c#是不行的. c#的优点开发快,代码简洁.如果微软不让.net 跨平台迟早会玩完的,虽然mono…
[/Quote]还有,.net是无法取代COM的,因为.net自身就极度的依赖COM...
winxieddd 2008-08-29
  • 打赏
  • 举报
回复
这个比较有什么意义??
各有各的长处,并且用的地方也不同.
加载更多回复(2)
CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 博客:blog.csdn.net/itas109 Email:itas109@qq.com
CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 by itas109 on 2016-08-02 http://blog.csdn.net/itas109 https://github.com/itas109 改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile方法失败返回的是INVALID_HANDLE_VALUE,不是NULL 改进ClosePort方法:增加串口句柄无效的判断(防止关闭死锁);m_hWriteEvent不使用CloseHandle关闭 改进CommThread、ReceiveChar、ReceiveStr和WriteChar方法中异常处理的判断,增加三种判断:串口打开失败(error code:ERROR_INVALID_HANDLE)、连接过程中非法断开(error code:ERROR_BAD_COMMAND)和拒绝访问(error code:ERROR_ACCESS_DENIED) 采用安全函数sprintf_s和strcpy_s函数替换掉sprintf和strcpy 改进QueryKey方法,用于查询注册表的可用串口值,可以搜索到任意的可用串口 改进InitPort方法,串口打开失败,增加提示信息:串口不存在(error code:ERROR_FILE_NOT_FOUND)和串口拒绝访问(error code:ERROR_ACCESS_DENIED) 加入viruscamp 取消对 MFC 的依赖 改进InitPort方法,如果上次串口是打开,再次调用InitPort方法,关闭串口需要做一定的延时,否则有几率导致ERROR_ACCESS_DENIED拒绝访问,也就是串口占用问题 初始化默认波特率修改为9600 修复一些释放的BUG 规范了一些错误信息,参考winerror.h -- error code definitions for the Win32 API functions 删除SendData和RecvData方法 by itas109 on 2016-08-10 http://blog.csdn.net/itas109 https://github.com/itas109 改进ReceiveStr方法,comstat.cbInQue = 0xcccccccc的情况(如串口异常断开),会导致RXBuff初始化失败 by itas109 on 2017-02-14 http://blog.csdn.net/itas109 https://github.com/itas109 兼容ASCII和UNICODE编码 ReceiveStr函数中发送函数SendMessage的第二个参数采用结构体形式,包括portNr串口号和bytesRead读取的字节数,可以处理16进制的时候0x00截断问题 精简不必要的函数SendData和RecvData 尽量的取消对 MFC 的依赖,Hkey2ComboBox函数暂时保留 其他小问题修改 博客:blog.csdn.net/itas109 Email:itas109@qq.com
CSerialPort =========== First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ * 增加 ClosePort * 增加 WriteToPort 两个方法 * 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 * 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 * 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort * 增加 IsOpen 判断是否打开 * 修正 InitPort 中 parity Odd Even 参数取值错误 * 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 * 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 * 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 * 解决COM10以上端口无法显示的问题 * 扩展可选择端口,最大值MaxSerialPortNum可以自定义 * 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 * 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 * 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea * 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT * switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 博客:blog.csdn.net/itas109 Email:itas109@qq.com
CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 by itas109 on 2016-08-02 http://blog.csdn.net/itas109 https://github.com/itas109 改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧