zxq6 发表于 2016-8-13 15:41:12

linux下的软件开发是什么样的体验?

是不是跟windows一样,有一个集成环境,写几个代码,编译一下就是一个二进制文件。
然后这个文件拷贝,到处的linux都可以运行?

aozima 发表于 2016-8-13 15:50:06

本帖最后由 aozima 于 2016-8-13 15:53 编辑

只能说,你想的基本都不可能有{:titter:}

IDE? 别人一般用VIM之类就行了。有UI的linux机器也有eclipse或是codecblocks这类可以用,但用得毕竟还是少。
编译? 一般是直接make,现在也多用scons
但前提你得懂 编译 链接等原理,会直接敲命令行,而不是make能编译出程序。
然后就是各种库和头文件的引用及设备。

编译出来的二进制,想在其它电脑直接运行基本很难,你得搞清对方是什么平台,多少位?然后尽可能静态链接,然后。。。

但,这一切你完全在你的控制之下!

mcu5i51 发表于 2016-8-13 15:54:49

标准应该是这样的:打开"记事本",有好多,不过一般是命令行的;
之后小手可以跳舞了;
命令行, 编译或写mak文件后编译
二进制文件不是通用的

stdio 发表于 2016-8-13 16:32:50

完全不同的体验。一开始会觉得“这里不同”,到后来会觉得“那里也不同”。

waterghost 发表于 2016-8-13 16:43:11

linux开发要求无鼠标!

amigenius 发表于 2016-8-13 18:10:54

搭个虚拟机跑LINUX,桥接一个文件夹,在Win用SI写程序,虚拟机内编译。写好Makefile(其实也很简单),每次编译就Make,或者按上箭头,回车,非常方便快捷。

gonboy 发表于 2016-8-14 09:42:17

Linux 开发 -> 所有的,你都可以控制

lovecxm 发表于 2016-8-14 10:52:04

虽然知道linux是c语言,但我的印象里linux=dos,都是命令行,好难的感觉。

polarbear 发表于 2016-8-14 11:03:23

现在在linux下开发,全部都是图形画的啦, eclipse 下开发应用程序的、驱动什么的都可以;
开发图形界面就用QT;
基本上不会用到VIM直接写代码;

看来国内的教科书毒害了不少人{:titter:}

fengyunyu 发表于 2016-8-14 14:59:58

polarbear 发表于 2016-8-14 11:03
现在在linux下开发,全部都是图形画的啦, eclipse 下开发应用程序的、驱动什么的都可以;
开发图形界面就 ...

用vim或楼上说的si的应该也还多

jm2011 发表于 2016-8-25 22:18:34

完全不一样的感觉,在windows下开发,模块多的时候也就几十的(可能项目比较小哈);
在linux开发,光开源的就有几十个,自己的模块再加上十几个;

编译就要好几步,慢慢的都养成习惯了,都是使用脚本,安全,可靠,稳定,省劲 。。。

代码分析时,ctags经常跑死,SI次次都崩溃;
要是运行时遇见问题真的是生不如死的感觉啊 。。。

xivisi 发表于 2016-8-26 06:43:17

QT像VC一样的。这台编译,另一台执行大部分可以做到

fengyunyu 发表于 2016-8-26 10:23:03

jm2011 发表于 2016-8-25 22:18
完全不一样的感觉,在windows下开发,模块多的时候也就几十的(可能项目比较小哈);
在linux开发,光开源 ...

9楼大牛说现在都在用eclipse,是这样的么?

ahfong2006 发表于 2016-8-26 10:35:53

eclipse, idea全系列 都挺好用啊

jm2011 发表于 2016-8-26 13:42:15

fengyunyu 发表于 2016-8-26 10:23
9楼大牛说现在都在用eclipse,是这样的么?

我不怎么用eclipse,直接vim + print来调试的;
LINUX就学VIM或者emacs吧。

说到调试,动态调试还是很有必要的,就是程序运行的时候,
在需要的时候动态打开关闭调试信息;

jm2011 发表于 2016-8-26 13:44:02

lovecxm 发表于 2016-8-14 10:52
虽然知道linux是c语言,但我的印象里linux=dos,都是命令行,好难的感觉。

其实命令行用惯了很舒服,

GUI都不用开,几乎不用鼠标;

而且脚本的功能很强大;可以去尝试一下

jiulong855@.163 发表于 2016-8-26 13:45:14

初学者会非常不习惯,全是命令行,最痛苦的是出了问题能查到的资料太少,很多要自己摸索的地方

fengyunyu 发表于 2016-8-26 14:04:53

jm2011 发表于 2016-8-26 13:42
我不怎么用eclipse,直接vim + print来调试的;
LINUX就学VIM或者emacs吧。



你说的动态调试,也是通过print实现的?

68336016 发表于 2016-8-26 14:06:33

我等普通人用codeblocks,也很直观。
据说用VIM的都是高手,连鼠标都拆掉不用的。

liwey 发表于 2016-8-26 14:16:04

amigenius 发表于 2016-8-13 18:10
搭个虚拟机跑LINUX,桥接一个文件夹,在Win用SI写程序,虚拟机内编译。写好Makefile(其实也很简单),每次 ...

不都说makefile是上个世纪的编译工具, 怎么还没被替代掉?

笑笑我笑了 发表于 2016-8-26 15:12:17

neoVim + CMake

jm2011 发表于 2016-8-26 15:32:18

fengyunyu 发表于 2016-8-26 14:04
你说的动态调试,也是通过print实现的?

是的,最后都是串口输出的;

postek 发表于 2016-8-26 15:52:12

看你做哪部分的程序了。如果是偏底层的。boot 、kernel、drv 和windows下编程完全不同的体验。 话说回来了,一般人没搞过win的底层啊。做底层的话,其实windows下也是没啥界面的。如果是上层图形的呢。。。这个就不一样了。和你采用的图形系统有关系。

postek 发表于 2016-8-26 15:56:29

然后这个文件拷贝,到处的linux都可以运行?
这个问题比较复杂。
首先,跨CPU类型是不行的。 arm的到mips到x86 不能用,到powerpc下也没戏。 话说,windows 也是这样的。wp的程序在x86下的win7、8、10没戏。ARM架构的windowsRT的程序也是如此。
如果同类型的CPU呢,也不一定能行。各种依赖关系,处理好了才行。

amigenius 发表于 2016-8-26 16:07:04

liwey 发表于 2016-8-26 14:16
不都说makefile是上个世纪的编译工具, 怎么还没被替代掉?

因为经典好用,就好像命令行,电脑一出现就沿用至今。您在Win编译MCU程序,其实都是在跑命令行,只不过是自动生成了MakeFile而已。

liwey 发表于 2016-8-26 18:28:11

amigenius 发表于 2016-8-26 16:07
因为经典好用,就好像命令行,电脑一出现就沿用至今。您在Win编译MCU程序,其实都是在跑命令行,只不过是 ...

说它陈旧过时不是我说的,而是各大公司,比如google,makefile管理大型项目感觉确实有的费力了。 比如谷歌力推的gradle来构建安卓程序。qt也推qbs(虽然不成气候)。这些都完全不同于makefile了。

john78 发表于 2016-8-26 19:40:48

在线调试不方便,其它一样

shijianzhou 发表于 2016-8-26 19:57:33

同样喜欢在linux下用Eclipse开发,我用C++写应用很爽。

avr-arm 发表于 2016-8-26 21:27:43

一般linux下用vim和qt creater多。vim针对各种单个文件编辑(包括二进制都行)。qt create适合阅读代码或者整个C工程。
现在上班用mac多,还是这两个组合,好用的很。

gshuang1 发表于 2016-8-26 23:07:19

没有windows那么完善,一般不做界面的,linux只做服务端,对于嵌入式linux应用程序,无界面的居多,有界面的要用QT开发,这个工具比VC++难用多了。当然执行文件也是个二进制文件,这倒很类似。
页: [1]
查看完整版本: linux下的软件开发是什么样的体验?