⑴ 软件能不能在没有操作系统的情况下运行
当然可以,要看是什么样编写的软件,基于最底层的硬件指令的编程,就可以脱离操作系统,独立运行。
其实操作系统就是专职管理电脑硬件和软件资源的大型软件,它的本质就是软件,他是最基本的系统软件。操作系统以及其他软件最终还是要以机器指令来访问和控制各种硬件资源,有了它,编程人员就可以脱离枯燥的对底层硬件的编码。但是如果一个高级程序员,对系统底层硬件指令(这里可以是很多硬件平台)很熟悉,那么他就可以脱离操作系统开发一个基于底层硬件操作的应用软件。
其实现在很多嵌入式系统,有使用嵌入式操作系统的,也有直接基于硬件开发应用程序的,举个例子,单片机应用程序的开发很多
就是直接编程,没有操作系统,因为单片机的硬件资源有限,操作系统也要占用一定的系统资源,而且要实现的功能也简单,没必要非要操作系统(单片机也可以开发操作系统,如uCOSII)。
⑵ 如何使用GCC编译出不依赖操作系统的二进制目标
完全不依赖平台,是不可能的。。。。。。。。起码要在相应的平台中编译。。。。。。。。是否依赖平台,要看引用的库。。。。。
⑶ 在早期没有操作系统的前提下 汇编语言的编译如何完成 我是说汇编语言刚刚诞生四时
人工查表,找出机器码,再用开关输入。
http://hi..com/do_sermon/item/ff7659828b91a7caee083d74
⑷ 如何在没有操作系统的前提下编写这个程序。
首先,windows不是唯一的操作系统,更不是最早的操作系统(dos也不是)。1969年,UNIX操作系统就诞生了。
没有操作系统的计算机,需要用其他的办法(如机械的)操纵计算机的输入输出,我了解的是早期的计算机人员用过纸带。这时是有程序的概念的。只是设计程序的和跑程序的人的不一样的,因为跑程序的人需要懂得他要使用的庞然大物是这样工作的(这可不容易)。FORTRAN,一门用于科学计算的程序设计语言,就是在早期诞生的。
UNIX,是AT&T的两个大牛写的,最初是用B语言,后来使用C(一种移植性很好的语言)重写了这个操作系统。这个操作系统简洁高效,在实验室逐渐流行,后来它的源代码又免费的提供给大学。总之,UNIX逐渐流行,许多人也为它写一些实用的工具(程序)。
1970年代吧,那是是没有图形界面的。人机交互的界面称为shell,shell是一个命令解释器,负责把人输入的人可读的命令(如复制是cp)翻译给机器。如果你使用linux(它是Unix的克隆),你就很容易理解这一点。Linux有着强大的命令行,所以很多老手会经常在命令行下工作。(这样高效)。编程自然不在话下,你可以用命令编辑代码,编译连接,调试,运行。。。
我截个终端编辑代码的图。更多内容请参考计算机、Unix历史介绍。
⑸ c语言怎么编写脱离操作系统的软件
这有点类似鸡和蛋的关系。假定最开始有个汇编的编译器,C语言之父用它开发了个最小的C语言编译器,然后就可以用这最简单的C语言开发复杂一点的C语言编译器,这样迭代开发。到了Linus的时候,GNU的创始人开发了gcc编译器。已经是成熟的了。
⑹ 如何编写不依赖操作系统的程序。就是裸机上可以运行的。汇编或c语言生成文件都是exe啊只能在win下
回答这个问题会在操作系统的定义上发生争论:如果说windows,linux,unix......这些才算操作系统的话,那么简单, 首先你向各个硬件厂商拿到各个接口(如果你本身对这些硬件非常了解, 那么自己写硬件接口), 然后你在你的程序上直接对各个硬件接口进行直接控制; 而那些所谓的标准库, 系统库都用不到了;;;;
如果说操作系统的定义是: 硬件的整合; 那么你程序本身就是自带操作系统了;
要知道BOIS本身就是操作系统的一种(basic input output system); 所以关键是怎么定义操作系统;;;;;
楼上那个回答是误人子弟的,不知道为什么会变为最佳答案, 所以我才回答;
⑺ 不同的操作系统如何编译一段软件的代码
首先,准备好命令行和编辑器。针对主流操作系统分别做简单的解释:Linux:已经具备了命令行和一个叫GCC 的编辑器。在命令行中输入gcc ,如果“command not found”,那么请安装GCC。Mac OS X:命令行是Terminal,位于Applications/Utilities。你需要下载XCode ,它包含Apple的编辑器。Windows:微软在免费下载的Visual Studio Express中提供了编辑器,但是Cygwin 界面更友好。安装中要注意的是:要选择“Devel”部分中所有的安装包。下载:基本上所有的源数据包都有.tgz或者.tar.gz的后缀,有文件名和版本号,比如example-3.2.8.tar.gz。建立一个名为“source”或者“build”的目录,下载并放在该目录中。解压缩:从命令行进入工作目录(用cd命令):cd source 最快的方法是:tar -xzvf example-3.2.8.tar.gz这会将所有的源代码解压到一个新的子目录中,而且文件名跟应用是一样的。进入目录只需要敲:cd example-3.2.8读文档:在代码的文件包中会有像README 和INSTALL之类的文件,一定要读。你也可以使用less 命令在命令行中读取:less INSTALL 或者直接用合适的格式打开它们,它们会告诉你要安装哪些包、安装指南、注意问题等。Building:虽然各有不同,但大抵方法如下:输入:./configure 运行配置工具会告诉你缺少哪些软件和重要的文件的位置。有时候你需要自己指明特定文件在你计算机上的位置,比如:./configure --ssl-dir=/usr/local/include Configuration 过程要用几分钟,当它完毕的时候,你就可以编译了。如果出现错误,参考下面的Troubleshooting。编译请输入:make一切顺利就开始编译了。编译会占用一段时间而且当运行时会占用你电脑的所有进程。不要担心,当编译结束的时候,如果你仍然没有看到已错误,那你已经搞定了。剩下要做的只是将不同的文件放到文件系统中:make installTroubleshooting: 如果以上的步骤有遇到错误,有方法让你知道问题所在。确认你是否严格地按要求执行以上步骤。【
⑻ C++编译的程序怎样才能在无系统环境下运行
当然可以了,AVR单片机的程序就可以用C++写,当然软件要用AVR studio,C++只是一种语言,他并不规定环境,你想在裸机环境下运行,前提要有一个支持某型号CPU的编译器,不过裸机程序有点麻烦的,你必须知道这个CPU的基本构造,运行方式,以及外部电路有很深的了解才行,你要为你的电脑写个裸机程序,你就必须连显卡构造,主板构造,声卡构造,内存卡构造,键盘码,都需要知道,至于鼠标,你就不能用了,因为没有系统。。。。
电脑的CPU自然不会有支持C++裸机程序的编译器,因为能装系统,你不装这是一种资源浪费,你让一个高性能CPU全部精力去执行你一个1+1=2的小程序,不觉得大材小用吗???无系统程序通常只存在三种,一种是低性能处理器,比如单片机,一种是高运算要求的处理器,比如DSP的程序,还有一种就是系统程序。。。。
⑼ 没有操作系统的情况下,是否可以运行汇编器高级语言编译器可否脱离操作系统运行
理论上应该是可以的。
操作系统也是程序。
汇编器、编译器也可以运行在无操作系统状态。
但不是现在的VC、BCB之类的。因为这些是连接成Windows、linux....平台的程序。
所以可以无操作系统运行的编译器起码要有自己的引导程序、文件管理器之类的功能。那也相当于一个操作系统了。
无操作系统的程序。自己本身就应该是一个操作系统了吧。
以上纯属我的理解。如有错误请指正。
⑽ 怎么把同一个代码编译成不同操作系统下可运行的程序
汇编不行的。Windows下面的汇编是intel风格的,而linux的汇编是AT&T风格的,不一样。实际上,汇编的移植性是非常差的。
这个和编译器有关,而且还和你的代码的编写语言有关。一般来说,C语言移植性较好。Windows上运行的程序一般都会调用windows下的API、DLL等,所以推荐选择Windows下的编译器,比如说visual studio,turbo c等。linux下面也是这样的啊,你用gcc编译吧。
32位和64位。gcc有个-m64选项,用了这个选项就可以编出64位的程序。当然你还需要64位的系统库。Windows下面也有相应的64位程序编译器。
在这里要说明的是:如果本机是32位的,那么编译32位程序叫本机编译,如果用32位机器编译64位程序或者用64位机器编译32位程序,那么很明显编译好的程序不能在本机运行(最多是兼容运行),这种编译方式叫做交叉编译。
兄弟,建议你多看看编译器、交叉编译方面的材料。相信会有很大帮助的。