乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 73|回复: 6

请教论坛大神,arx与C#等net有什么区别!

[复制链接]

2

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
14
发表于 2019-6-9 11:20:00 | 显示全部楼层 |阅读模式
如题,小弟初来乍到,望论坛老大们能不吝赐教,万分感谢!叩拜!
回复

使用道具 举报

9

主题

66

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2019-6-9 23:06:00 | 显示全部楼层
你在.net板块来提问这个问题,估计大家都说C#好。
AutoCAD是用C++开发的,最新的版本是不是也有一部分是C#开发的我不知道,但个人感觉应该AutoCAD本身的开发语言还是C++。
这就注定了用C++,也就是ObjectArx做AutoCAD二次开发,在理论上更贴近平台本身,开发出来的插件运行速度更快,功能更强。
但是,这只是理论上成立。C++的指针是双刃剑,用不好的话,二次开发的软件很可能导致AutoCAD崩溃。而C#则相对更简单、易用。目前,Arx可以实现的功能,C#基本可以实现。
C#的好处是,这门语言是微软大力推广的语言,连windows都在使用C#做开发,因此,开发桌面应用,没有理由不选择C#。
选择C#做桌面开发的理由,一来是比C++更简单、易用,另一个最重要的原因,是C#在大多数情况下不需要自己打理内存,所有托管对象,你随便new,delete的工作系统自动完成,不存在内存渗漏的问题,因为内存是由操作系统的垃圾回收机制统一管理的。
但是,别高兴太早了,AutoCAD的C#接口,只不过是C++接口包了一层薄薄的皮而已,仅仅是可以让大家利用C#的语法完成二次开发。内存,对不起,还是要程序猿自己打理!!!切记,在利用C#进行AutoCAD二次开发时,只要对象所属类继承了IDisposable接口,那对不起,你new出来的这个实体,除非你把它加入到AutoCAD自身的数据库,否则,你必须手工把它Dispose掉,否则,你开发的插件,长时间运行时,会大概率导致AutoCAD行为异常,甚至崩溃。
不过,说一千道一万,我还是大力推进C#开发。不管怎么说,C#相对于C++还是简单很多,自从AutoCAD提供了托管代码二次开发API,就没写过一行C++代码了。
回复

使用道具 举报

2

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
14
发表于 2019-6-9 11:21:00 | 显示全部楼层
就cad二次开发上而言两者的区别,优缺点。
回复

使用道具 举报

9

主题

66

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2019-6-9 23:11:00 | 显示全部楼层
由于长时间没有接触过C++了,对C++的最新进展完全不了解。因此,如果上面帖子关于C++的说法有任何错误,本人概不负责,哈哈。
回复

使用道具 举报

29

主题

743

帖子

11

银币

中流砥柱

Rank: 25

铜币
858
发表于 2019-6-10 12:29:00 | 显示全部楼层
C# 优点,开发效率高,开发难度低,开发环境容易搭建,可能只需要vs2019一个软件就能实现.net所有版本编译。
缺点,没有自定义实体,需要arx才能实现,程序的代码不够安全,比较容易被反编译,
c++,开发难度大,效率低,需要许多的知识点,环境难搭建,可能需要多个版本的vs或者编译器。
代码相对c#要安全一些,至少不是源码,有自定义实体,可以编译.net没有的版本,如cad2004,
c#能实现的,c++基本都能实现,
c++也能使用.net ,就是代码写起来费力。
回复

使用道具 举报

2

主题

14

帖子

8

银币

初来乍到

Rank: 1

铜币
21
发表于 2019-6-11 20:57:00 | 显示全部楼层
都是高手!!!
回复

使用道具 举报

2

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
14
发表于 2019-6-13 17:07:00 | 显示全部楼层
谢谢两位大哥的热心回复!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 00:03 , Processed in 0.154765 second(s), 66 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表