‘壹’ 什么叫做开源的
开源:
开源是一个汉语词语,读音kāi yuán,常与“节流”连用,意思是开辟收入的新来源;节制支出;减少消耗。这个词语出自《荀子·富国》。
[释义]开源:开辟水源;节流:节制水流。比喻增收节支。[语出]《荀子·富国》:“百进时和;事业得叙者;货之源也;等赋府库者;货之流也。故明主必谨养其和;节其流;开其源;而时斟酌焉。”
网络开源:
开源项目、开源代码、非开源代码、开源软件。
开源项目:
开源(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。
开源代码:
开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放原代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。
非开源代码:
非开源代码与开源代码相反,其程序与软件产品是有产权知识保护的,别人想用就得花钱,想在其基础上作调整必须经过其同意。就如你电脑用的windows系统。
开源软件:
开放源码软件(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有right的,它的许可证可能包含这样一些限制: 蓄意的保护它的开放源码状态,着者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。
其它:
尽管 Windows 是被开源社区的人们看不上眼的东西,但是还是有很多的开源软件能应用于 Windows 。 我记得在 linux 出现之前,就有 GNU 工具被移植到 Windows。现在只是使用开源或者自由软件,你就能开发出复杂的 Windows 软件。
还有一个反向的路径:如果你在开发 Windows 版本的软件,那么可以利用那些专门针对 Windows 的工具,并充分利用他们的优点。在这种情况下,你可以使用 COM 着重来优化Windows 界面。如果你用微软的 Visual Studio 来写程序的,这样你的程序就只能在 Windows 上跑。
但是在优化这些程序的时候,你可能要在很多应用之间折衷考虑。你的程序成为 Windows 专用程序,这样,你就要遵循微软的“教诲”,以写出最好的程序。然而,很多人不喜欢这样,例如,如果你使用微软的 MAPI 作为 e-mail API ,那么你就只能从非微软平台得到简单的支持。因此,坚持标准,能为你选择正确的产品来适合自己的需求带来更大的自由。
‘贰’ 开源的本质是指编译器开源吗,c++是开源的吗
并不是,源是源代码的意思
c++是语言,并非特定软件,没有开源与否这一说
‘叁’ 如何交叉编译开源库
所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
工具/原料
电脑系统:win7系统。虚拟机系统:workstation6.5 。虚拟机安装的linux版本:fedora9.0。内核:linux2.6.25 。
方法/步骤
1
我使用的交叉编译工具链是arm-linux-gcc-4.4.3,把它放在linux系统的路径是图一
2
在linux系统的路径/home/song/share下放了交叉编译工具链arm-linux-gcc-4.4.3的压缩包,另一个版本的不用。有的人可能会问到怎么把这个压缩包弄到虚拟机的linux的系统的,我是通过samba服务从主机复制到虚拟机的,这里的share文件夹就是我samba服务器的工作目录,多了不说,这不是重点。
然后通过命令mkdir embedded 建立一个arm-linux-gcc的安装目录,如图二所示。当然安装路径和目录名称“embedded”可以依自己的喜好而定。
步骤阅读
然后通过命令将share文件夹下的arm-linux-gcc-4.4.3.tar.gz复制到这里的embedded文件夹下, 当然这里你也可以不进行这一步我这是为了方便以后管理,将arm-linux-gcc安装到embedded文件夹下,方便以后寻找。
然后使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将embedded文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下
执行完解压缩命令,就已经将交叉编译工具链arm-linux-gcc-4.4.3安装到linux系统上了,这里默认安装到了图六所示的路径上。
接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。 vi /etc/profile 编辑profile文件,添加环境变量。
在profile中的位置处,添加图八所示的红线标注的一行,路径就是图六中的红线标注的路径后面加上/4.4.3/bin。
图八中的路径一定是你自己的安装路径,可以使用pwd命令查找一下那个bin目录的路径。添加完路径后,保存退出。接下来使用命令:source /etc/profile,是修改后的profile文件生效,如图九所示。
然后,使用命令:arm-linux-gcc -v查看当前交叉编译链工具的版本信息,如图九中的红线标注第③行所示。很明显 可以看到,如果不执行第②步,则查看版本信息不成功。
然后验证交叉编译工具链是否安装成功并且可以使用,如图九所示,随便找一个目录编辑一个hello源代码。
编辑好hello.c文件后,保存退出。然后使用交叉编译器对hello.c进行编译,并生成可执行文件hello
这里生成的hello文件并不能像gcc编译出来的文件那样直接使用“./hello”命令执行并显示内容 因为它是一个二进制文件,只能下载到开发板上执行!
至此,搭建交叉编译环境步骤结束。
‘肆’ C语言编程有哪些好用的软件
1.VS(Visual Studio)
VS是目前最流行的windows平台应用程序的集成开发环境,由于大部分同学使用的都是Windows操作系统,VS对于大家来说是极为合适的,大家平时上课及考试所使用的VS2010支持多种不同的程序语言,VS2010原生支持: Visual Basic、Visual C#、Visual C++、Visual F#四种程序语言。
而现在微软于2019年4月2日发布的Visual Studio 2019,引入了实时共享的功能,同时微软优化了VS的Debug功能,使之变得更加高效便捷。
2.Dev-C++
Dev-C++是一个基于Windows环境下的一个适合于初学者的轻量级C/C++集成开发环境。
开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,适合初学者与编程高手的不同需求。但是它也有一些缺点,Dev-C++的功能并不完善,各方面存在着一些逻辑错误,因此它也只适合初学者学习,并未在商业及的软件开发中使用。
3. visual studio code
visual studio code是一款真正的跨平台编辑器,可以在用户习惯的平台上使用,而不是一定要在Windows操作系统上使用,软件本身免费,占用内存低,启动速度,打开速度相对比较快,内置了对JavaScript, TypeScript and Node.js,C++, C#, Python, PHP等语言的强大支持但是实现不同的功能可能需要需要使用不同的插件,而且软件不是十分稳定。尽管如此,它的开源,方便,以及多平台的支持深受人们青睐。
‘伍’ 器GCC开发的软件,一定就是开源软件么
gcc是开源的,不意味着,用它编译的程序也是开源的,gcc是个编译器,用它编译也会生成2进制的机器码
你写的程序是否开源取决于你自己
你想不开源,就编译,你想开源就别编译,直接把源码发布出去
开源是啥意思,你用任何文本编辑器编写一个程序(即便不用GCC),这些文本文件都是源程序
用任意一款编译器编译后,都将生成2进制机器码,不管那款编译器,不管编译器是不是开源的,编译器编译器,何为编译器,"编译"的意思,就是把你写的源文件,翻译成计算机能识别的2进制机器码,所以提到"编译"二字就已经意味着不开源了
‘陆’ 关于DEVCPP与gcc
我想说的是,Dev-Cpp只是一个集成开发环境(IDE),将编辑源代码、编译、执行、调拦碧试集于一身,使得编程工作更方便快捷。
而gcc就是一个开源的编译器,你可以从网上下载简罩举这个编译器,并使用记事本来写程序,道理和Dev-Cpp一样。
任何IDE基本都不提供自己本身的编译服务,只提供一个开发平台闷早。
‘柒’ 谁能推荐一下有哪些开源的c/c++语言编译器啊
GCC不错,不过多数参考书是以TC和VC为主的,
如果自学建议安装TC3.0不过操作有点不方便,和Win7不兼容。
而VC6.0安装就有点麻烦了。
GCC如果你愿意找点资料的话,最好不过了....