作为一名一线开发工程师,我将自己用到的和看到的做一介绍,如果有不妥的地方,欢迎大家留言讨论。
1C/C++系列
IDE不用说,首选全宇宙最牛的IDEVS系列,该部分有代表性质的也就是MFC、Qt了,下面分别介绍。
11MFC
一个早已经被微软抛弃的产物,不过目前还占据着一定的市场,主要在军工、自动化等行业,如果你不幸入职一家还在维护这MFC老项目,那么建议你该考虑考虑下一份工作了,MFC==没饭吃,重要的事情说三遍,不建议选择MFC,不建议选择MFC,不建议选择MFC。
12Qt
当然IDE首推QTCreator,当然,你也可以选择VS搭载QT插件进行开发。跨平台支持,在国产化越来越受到重视的今天,相信Qt的市场也会逐步增大。
下面是一款使用QML绘制的界面效果图
13C++第三方界面库
这里就不一一列举了,可直接网上搜索,重点推荐一款duilib。
Duilib是一个Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。Duilib还在不断的发展中,在文档、例子、动画、渲染引擎等多个方面将持续改进。除去各方面优点,其最不足之处就是原始代码作者已经不再维护,可能遇到的坑会比较多,各个公司也都是维护这自己的一个版本。
下面是基于Duilib开发的一款仿360安全卫士的界面效果。
2C#
程序界的富二代,有着微软这一亲爹的扶持,VisualStudio强力支持。通过简单的拖拽界面,即使你是一个新手,也可以快速做出一款有着可视化界面的GUI程序,当然想要做好、做深入了还是需要你花费一定的功夫来学习的。常见的管理系统使用它来开发的还是很多的。其优势就在于快速开发,很好的兼容瘟都死。
3JavaScript
有代表性的要数Electron了,不可一世的VSCode就是由其开发而来,JS大有一统天下的趋势(后台,PC端,移动端)。
4Java系列
这个,使用的应该不是很多了,作为了解即可,JavaSE。使用Eclipse开发即可。
本工程的函数和方法,你可以通过Go to reference找到函数实体,也可以通过VAX等助手软件更方便。
如果是系统函数,大部分MFC函数都有开放源码在VC安装目录下,这个是不能直接从代码“传导”过去的,你可以通过两种方法来找到:(当然,并不是所有系统函数都开源)
F5运行程序,F9设置断点,F11进入函数。在调试过程中通过进入调试查看到
在VC安装目录下搜索。比如VC6中,你可以通过界面上的搜索按钮,在C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98目录下,查找CString::TrimRight字符串,就可以找到函数的实体实现了。
至于在那个库中,这个可以在MSDN或者微软的在线函数帮助中找到。
android (安卓)是完全开源的吗?
otyh53
spring 是完全开源的吗先说方法,后说结果。
讨论3个问题,1怎么确定是不是开源软体?
2如果是开源软体,用的时候是不是可以为所欲为?
3 答题主的问题。
问题1--->>>>
要判断一个软体是否开源,一般的流程是:
(1)去官网看文件里面有没有提到说是开源软体。一般如果开源,会在文件里很明显的写明open source字样,因为开源对于软体来说是一个极大的优势。
(2)检视是基于什么开源协议,开启软体的安装包,解压之后在安装包的目录下能比较容易的找到licensetxt档案,开启之后就可以找到是基于什么开源协议了。
一般常用的开源协议有 Apache License(现在是20版本了),比较有代表性的软体有, Apache系列的开源软体,如,Structs,还有阿里巴巴的Druid等。
其它的开源协议,还有Linux用的GPL,然后 MySQL据说是GPL 20的,我基本不用MySQL,所以没有下安装包看具体东西。另外还有BSD、MIT, LGPL等50多种开源协议。
问题2--->>>>
如果是开源软体,拿到软体之后是不是可以为所欲为了呢,答案是否定的。
要去看开源协议是怎么要求的,不同的开源协议有不同的要求。举个栗子,Linux使用的是GPL开源协议,根据GPL协议的要求,只要你的软体用了Linux,就得开源,而且必须继续使用GPL协议开源,so,后面的继续开源。这叫做GPL的”传染性“。so,很多很多开源的Linux软体,此处应该有个笑cry的表情吧。(MySQL使用的是这个协议的20版本,但是我没调查清楚,这里也不乱说了)
Apache协议得要求就相对宽松了,允许作为第三方包引用,允许修改原始码,允许在原始码的基础上发挥(做一个新产品出来),但是你释出为商业软体或者开源软体的时候,license档案的写法是有具体规定的。戳这里能看到到底咋做才行:apache/licenses/LICENSE-20(ps:网上搜到的很多不可靠,so我打算近期把这个翻译一下,如果翻译了,我会在这里贴上我的部落格地址)
问题3--->>>>
关于题主的Spring,由于Spring现在有很多产品,so,这里预设国内web专案最常用的 Spring Framwork。
由于我本人近期很少做Java web专案,所以环境中并没有从官网上下载的Spring的发行包。去官网检视之后,发现现在基本是Maven和Gradle的天下了(原来我还活在原始社会,来一个cry笑的表情吧)。然后在:olexopenlogic/packages/spring/下载了一个spring
按照上面的步骤,我去这里下载了Spring的发行包,解压之后,里面赫然躺着licensetxt档案,开启之,赫然发现了Apache License Version 20, January 2004这个字样。
(这块有比较全的开源协议解释,不过是英文的:olexopenlogic/licenses)
还有两个窟窿没堵上,有兴趣并且有才的同志可以接着回答:
这里为啥是 January 2004?2
如果用了Maven和Gradle怎么判断开源协议的版本?
总结一下吧,判断所要引用(或修改或扩充套件)的第三方软体是否开源,首先这是架构师的事情,因为架构师要决定使用哪种技术。然后这是产品经理的事情(ps:我现在任职的公司,产品的license档案是由产品经理提供(写)的)。
当然所要使用的技术在前期进行可行性分析和技术论证的时候,基本已经确定了。So,对于一个编码人员,是不需要管这些东西的,只需要用某种产品,出了版权纠纷(传闻国外有因为开源问题打过官司的案例),也不是咱的事情。但是话说回来,保不准哪天有个机会爬一个台阶呢,我只是想说,机会是留给有准备的人的。(罗嗦了,不要打我,再来一个笑cry)
MFC是完全开源的吗MFC是个类库,你让他怎么开源?
开源是相对于程式,比如MFC开发的一个程式,我们可以说这个程式是不是开源的。
ubuntu是完全开源的么?官网有下载
javashop是完全开源还是部分开源?开源程度很高,可以做底层开发,不会有问题,而且成本低,可以选择
phpBB是不是完全开源的?phpbb是完全开源的,可以任意修改,甚至去掉版本号以及所有著作人相关资讯,DISCUZ只是开放原始码而已,对于商业用途还是要收费的,不能任意修改,也不能去掉所有的DISCUZ相关连结和版权资讯,所以DISCUZ并不是开源 只是公开原始码而已
xiao7china是用 phpbb修改的仿DISCUZ风格的论坛,嘿嘿,是我滴
shopnc 2014 是不是完全开源的网上找来的全是盗版的,2014年4月左右流出的版本,以后发现的一些bug官方都提供过N个补丁包了,但是盗版的是不会给你补丁的。学习还行,真正运营还是找官方吧。
小米是的作业系统是完全开源的吗是的,小米系统也是安卓改良UI介面得来的产物
ffmpeg 程式码是不是完全开源是的
本开原始码播放器使用的音视讯解码程式码来源于ffmpeg-063(:ffmpeg),
jni衔接程式码和java层程式码来源于havlenapetr(:github/havlenapetr/FFMpeg)。
移植ffmpeg到android的常规关键点网上有很多的帖子可以参考,也可以用资料夹比较工具比较一下,看看新增修改删除了那些档案。
本开原始码的编译环境
1: Android SDK 22版,
2: NDK r4版,注意要汇出NDK巨集,
3: IDE开发环境是 eclips 35 版
4: libffplayso是在Android 22版原始码目录树中编译出来的,使用Ubuntu1004和VMware711版,目前原始码不公开
5: libffmpegso编译步骤,cd /cygwin/c/ffplay, /config_r4sh, $NDK/ndk-build
6: PC主机开发环境是windows xp。
特别注意,此demo只能在 Android SDK 22版上使用,其他版本有修改原始码,重新编译才行。
此开原始码解决了几个特别关键点,达到实用水平。几个关键点如下:
1:arm汇编程式码编译支援,主要是在几个mk档案中新增LOCAL_ARM_MODE := arm语句,
在config_r4sh档案中新增--arch=armv5te和--enable-a 等开关。
2:在ffmpeg config_r4sh配置档案中关闭了一些不用的选项后,连线时总是报一些莫名其妙的连线错误,
本开原始码给出终极解决方案(在/jni/jni/Androidmk档案中新增 LOCAL_LDLIBS += C:/ffplay/bin/ndk/local/armeabi/libavcodeca等语句)。
3:修改havlenapetr中的视讯显示错误bug,经测试havlenapetr原始程式码在模拟器设定为320x480时显示正确,在更大的解析度下显示错误,
本开原始码已修改好此bug,现在无论什么解析度都可以正确显示。
此开原始码其他注意事项:
1:jni衔接程式码相比havlenapetr精简了几个数量级,更方便网友们研习。
2:此开原始码不包括play,pause,s,seek和视音讯同步等功能实现程式码,这部分程式码不开源。
3:Android jni层直接输出音讯示例,Android jni层直接输出视讯示例,基于ffmpeg的Android播放器开原始码,三个工程使用相同的库,相同的方法和技巧,可相互参考。
在moto defy me525上测试通过。
动易的SiteFactory20是否是完全开源核心程式没有完全开源,但是动易SF的模型和标签灵活性,足以让使用者进行二次开发,只要稍懂SQL和XML,就能写出各种功能的标签,来实现目前比较流行的功能如果想用它做站,不需要考虑原始码是不是完全公开,因为一般人不可能对一个程式的核心程式进行完全的改写没有那个精力也没有那个必要
想用SF建站,欢迎常来CMS联盟交流讨论:cmsw3c我们这里有动易及各种CMS的教程及FANS爱好者们热情及乐于助人是一个很好的学习交流的场所
以上就是关于windows客户端程序一般用什么IDE和什么编程语言编写全部的内容,包括:windows客户端程序一般用什么IDE和什么编程语言编写、VC6.0编译器MFC程序中怎样查看一个函数是在那个实现的,不是要声明是要函数体的实现过程、android (安卓)是完全开源的吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)