矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 4630|回复: 20

小白问事

[复制链接]
     
发表于 2023-4-17 18:45:50 | 显示全部楼层 |阅读模式
我想请教一下,编写程序之后怎么变成软件的?
     
发表于 2023-4-18 22:41:35 | 显示全部楼层
本帖最后由 杨白劳 于 2023-4-18 22:53 编辑

好奇楼主几乎上千的主题,六千多帖子了,发帖这么多也看了这么多也算是见多识广比我多好多倍

可能在本论坛十年之久的积累,还居然问这种不知道编程和软件是什么的问题,我可以推断这个结论,

第一,楼主想学编程好多年过去毫无进展,,第二,就算有人很详细回答楼主,楼主知道了答案也

没有意义,因为十年后依然楼主还是无法理解把编程和软件的关系。请楼主换一个方向发展自己的爱好

我花了两年时间让自己从小白变成汇编大湿,可以断定,一个人冥思苦想在两个月内无法用指令点亮基本的

数码管,这人没有逻辑分析的天赋。因为后面入门的时间算下来长达上百年,一辈子远远不够的
回复 支持 2 反对 0

使用道具 举报

     
发表于 2023-4-17 18:54:03 | 显示全部楼层
编译成可运行的程序。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 20:32:50 | 显示全部楼层
程序本身不就是软件 ?
回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 20:35:25 | 显示全部楼层
计算机只认二进制,用编程语言写出来的人能识别的代码需要一个转换器,转成机器的CPU可以识别的二进制。

可以理解成是有一个翻译。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 20:36:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-17 20:45:46 | 显示全部楼层
举个例子,比如我编写了一个加法程序,怎么把这个程序变成应用软件,然后输入加数计算和?
回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 21:01:46 | 显示全部楼层
本帖最后由 ssffzz1 于 2023-4-17 21:03 编辑
火箭 发表于 2023-4-17 20:45
举个例子,比如我编写了一个加法程序,怎么把这个程序变成应用软件,然后输入加数计算和?


首先你这个加法程序是用某个编程语言写的吧,譬如

b=3
c=5
a=b+c

那么上面这几行语句是人能够看懂的,计算机的cpu是看不懂的。虽然你觉着你写了代码,保存到计算机上,他就应该知道你存的是什么,事实上不是的,你编写的代码是作为一个文本文件保存在计算机上的。这个机器对你的真实意图现在还 一无所知。

这需要一个转换软件,把它转换成cpu能看懂的代码。这样CPU就知道你真的要 干什么了。

1、这个转换和CPU的架构有关:
对于不同体系结构(譬如X86和MIPS),甚至不同型号(譬如386和I5)他们能看懂的二进制是不同的,这些都要针对具体的型号做不同的转换。
也可以理解成MIPS的代码在X86上不能跑。在I5CPU上的代码在386上也不能,不过反过来可以386的代码大多数在I5上可以,这个是另外的话题,他们有一定的兼容性。

2、这个转换和你的运行环境 有关:
譬如你的程序是跑在单片机上的,那么你就要转换成单片机所支持的格式,一般就是bin文件或hex文件,并按照单片机的有要求放到合适的位置。

如果你跑在windows操作 系统上,那么就要复合windows系统的格式。当然windows系统比较强大,可以支持很多格式,有些还可以让你的程序带个图标等等其他的一堆乱七八糟的东西,形成一个软件包。

3、这个转换的过程也不同:
对于像C这种语言,是一次性编译好了,转换成二进制的最终格式。编译一次,多次运行即可。

像PYTHON这种语言,是先弄出来一个虚拟机,把你些的代码一行一行的放到虚拟机里去跑。PY的虚拟机你可以想象成一台只认识py代码的CPU,这个CPU把PYTHON代码拿进来,然后转成和硬件CPU有关的二进制代码,再交给硬件CPU执行。也就是中间加了个垫层。


回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-17 21:48:14 | 显示全部楼层
谢谢,平时所说的C语言编程,我编写完了之后,要在Windows上应用,用什么转换生成可以执行应用的程序软件呢
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-17 21:48:39 | 显示全部楼层
ssffzz1 发表于 2023-4-17 21:01
首先你这个加法程序是用某个编程语言写的吧,譬如

b=3

谢谢,见楼上,,
回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 21:53:45 | 显示全部楼层
火箭 发表于 2023-4-17 21:48
谢谢,平时所说的C语言编程,我编写完了之后,要在Windows上应用,用什么转换生成可以执行应用的程序软件呢

在windows下的编译器很多的,

譬如微软自己出visual c++。
5楼说的C++ Builder
windows下的单片机,貌似是那个keil之类的。

我对windows的编程基本等于没做过。Linux下是gcc居多,不过 在windows也可以用gcc。


你搜开发环境就行了,相关软件很多的。选使用广泛的大厂的即可。学编程编译器不是关键,语言本身最关键。

回复 支持 反对

使用道具 举报

     
发表于 2023-4-17 21:56:11 | 显示全部楼层
火箭 发表于 2023-4-17 21:48
谢谢,平时所说的C语言编程,我编写完了之后,要在Windows上应用,用什么转换生成可以执行应用的程序软件呢

直接在linux里面装个c环境即可直接运行C语言代码,虽然没实际意义,最好是c语言,51单片机。直接编译下载运行即可。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-18 07:42:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2023-4-18 08:44:22 | 显示全部楼层
a=1
b=2
c=a+b
printf c



类似于这样的代码不管是什么语言都是咱们人类懂的语言,是为了开发程序方便设计出来的,但是机器是不懂的。

如果你想让这些代码在系统(linux  windows 单片机等等)里运行,那你就要转变成这个系统认识的程序,这个转换就叫编译。

比如你用         c++ builder 可以把这段话转化成一个 1.exe 的文件,放在 WINDOWS 里一输文件名就输出3了。
你用 GCC 把这段代码转化成   1   那么在 linux 系统里你一输文件名,也能输出3。

每个系统、每种语言、都有把代码编程机器认识的程序的工具“编译器”。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-19 09:58:32 | 显示全部楼层
火箭 发表于 2023-4-17 21:48
谢谢,平时所说的C语言编程,我编写完了之后,要在Windows上应用,用什么转换生成可以执行应用的程序软件呢

对正常人而言,用 Visual Studio 将你编写的 C 语言源程序编译为可在 Windows 上执行的应用程序。对个人和微小企业来说,微软免费提供 Visual Studio(社区版),可在微软官网下载:
https://visualstudio.microsoft.com/zh-hans/vs/

进入链接,然后点“下载”,选择“社区版”,将下载 VS 安装程序并跳转到 VS 介绍和教程页面,如不会安装和使用可阅读其教程。默认的,安装 C++++,F++++ 和 VB 三个语言,其它语言比如 C++,Python 等需要更改安装设置(不清楚你打算用哪个 C 语言)。

对不正常人类而言,可用 GCC 等其它编译环境实现,比如 Eclipse 之类 IDE,既然是不正常的就不介绍了。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-27 10:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表