linux c语言开发工具要准备什么工具

c语言开发要准备什么工具_百度知道
c语言开发要准备什么工具
准备VC6,就OK了,准备一个电脑.0软件准备一本c语言的书
望采纳,谢谢
c语言能开发什么
c是基础,先学着,以后还会学别的,在c基础上。c主要用来开发嵌入式。
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
一般都是用那个<ikaudio contentText="c语言开发的话软件不都用的那个职位就有62008吗,之前我们用的好像也是v66点然后不就是溜溜它后面要牵扯到代码,然后还有那个
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁希望各位不要说类似于因人而异这样的话,本人211大一新生,希望各位大牛结合自己的经验给出一个具体点的数字。感激不尽!
手机APP是用Java写的(安卓),虽然C跟Java看着有点像,但差别还是很大的,建议从Java学起。一个合格的211学生(计算机以及相关专业),到大三的时候做一个手机App不困难。C语言更适合做操作系统相关的开发,比如驱动、嵌入式之类的。C语言开发手机App太困难了,似乎也很少有人这么做。如果是iOS环境,用的是Object-C,虽然也可以从C语言转过去,但直接学Object-C也没什么问题。不要以为都是C就认为差不多,差的还挺多(就像C/C++是一种语言吗?肯定不是)------------------------------------说点多余的问题:题主是一个初学者,在我回答了这个问题以后,题主跟我前后有20多条私信,题主确实是零基础,对于零基础,就找一本入门级的开发书就好了,不管是当当,京东,还是亚马逊,哪怕自己去书店,随便找一本都可以解答题主的问题。如果是安卓开发,就以安卓开发入门为关键字,如果是iOS开发,就以iOS开发为关键字。几乎任何一本数都可以。如果真要用心学,写一个helloworld一类的简单的App是不困难的。有句话想送给题主:软件开发没有捷径,甚至有时候别人指点都是次要的,关键要自己动手去做,问十个问题,也许不如自己动手写一行代码,如果学一个东西还要想出这么多问题,那么我觉得题主你是想的太多了。
已有帐号?
无法登录?
社交帐号登录
Simple GiftsC语言要用什么软件做开发_百度知道
C语言要用什么软件做开发
提问者采纳
windows下用tc或visual c或visual studiolinux下用vim或vi+cc或gcc
提问者评价
呵呵呵呵。。。谢谢帮助。。。不过能说的更清楚点吗、拜托!
其他类似问题
为您推荐:
其他4条回答
我一师兄在百度,他说他基本就是与C语言打交道。。。。
现在的公司,除非特别牛X的。基本都不怎么用C了吧。
C用途,基本所有的操作系统都是C写的吧。这些 弄操作系统 的公司 能进么?
嵌入式,好像是C
百度公司,搞搜索的貌似对C跟算法要求非常高。
像LZ说的“没有夸张,除非太底层编程,还没有不会编的程序 ”
如果你真 的到了这个水平,那我感觉 进 国内大多公司没有问题了吧。
如果英语OK的话,也可以尝试下google,微软啥的。
我也大4的,也找工作。面试了好几家公司,感觉IT公司招人,他不太注重你现在会什么,而比较注重,你有能力 会什么。
我另一个找工作的同学,分析公司注重的“你有能力 会什么”,就是看你某一项技能是否特别精通。所以LZ优势还比较大。
我不想打击LZ,不过...
一个编辑器 +一个编译器+一个调试器 搞定 比如 linux平台下用:vi+gcc+gdb
这个工具很好很强大...强力推荐
如果你够猛,txt文档就可以
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁3059人阅读
小话c语言(25)
[Mac 10.7.1 &Lion &Intel-based &x64 &gcc4.2.1]
Q:&有的时候,记得在某个目录下写过某个变量或者其它什么文本形式的东西,但是后来忘记写在哪个文件里了,怎么找到?
A:&这个就需要用到grep命令了。它很强大,尤其对于开发或者寻找某个东西在哪里的时候。举个例子,有个目录里面有一些文件:
而且,有一些文件里面含有main字符串,现在需要把它们找出来:
很可惜,在mac10.7.1下面,grep的一个参数-r&#20284;乎无效,不能递归到子目录下搜索;不过在cygwin里面是ok的;bug列表中没有找到,但是实践确实无效,也许是个bug吧。
上面测试用的grep版本是2.5.1.
当然,它还支持很多参数,比如-i忽略大小写,-E进行egrep扩展等等。
Q:&经常会遇到,创建一个进程,但是后来想把它关闭,ps -ax命令得到一堆进程,不便于寻找,怎么快速能定位它?
A:&同样可以使用上面的grep命令。例如,需要寻找系统是否启动了httpd进程:
Q:&有时,需要分析一个生成的可执行文件的内部结构,怎么办?
A:&使用otool命令,它异常的强大。它支持很多参数,帮您将可执行文件,也包括中间文件、库等文件的内部展示地一览无余。
Q:&我需要查看一个可执行文件的mach头,怎么办?
A:&可以使用-h参数。如下,写一个简单的代码,保存为hello.c:
#include &stdio.h&
int main()
int i = 2;
printf(&%d\n&, i);
使用gcc &-o &hello &hello.c编译得到hello.它将对hello进行分析:
用它和系统的mach header头文件结构对应,就可以得到它的具体含义。同理,使用-l命令可以得到mach-o&#26684;式文件的load commands.
Q:&我想得到某个可执行文件依赖哪些动态库,怎么办?
A:&可以使用otool命令的-L参数即可。同上使用上面的hello文件,
Q:&我想知道一个可执行文件它的代码段,怎么办?
A:&可以使用otool命令的-t参数。同样使用上面的可执行文件hello,
不过,它是二进制形式的。
Q:&怎么才能显示上面的二进制形式的汇编形式代码?
A:&可以配合-V命令或者-v命令(二者有一定区别)。
xichenMac:c_simple xichen$ otool -Vt hello
(__TEXT,__text) section
0eb0 pushq $0x00
0eb2 movq %rsp,%rbp
0eb5 andq $0xf0,%rsp
0eb9 movq 0x08(%rbp),%rdi
0ebd leaq 0x10(%rbp),%rsi
0ec1 movl %edi,%edx
0ec3 addl $0x01,%edx
0ec6 shll $0x03,%edx
0ec9 addq %rsi,%rdx
0ecc movq %rdx,%rcx
0ecf jmp 0x
0ed1 addq $0x08,%rcx
0ed5 cmpq $0x00,(%rcx)
0ed9 jne 0x
0edb addq $0x08,%rcx
0edf callq _main
0ee4 movl %eax,%edi
0ee6 callq 0xe ; symbol stub for: _exit
0ef0 pushq %rbp
0ef1 movq %rsp,%rbp
0ef4 subq $0x10,%rsp
0ef8 movl $0xxf4(%rbp)
0eff movl 0xf4(%rbp),%eax
0f02 xorb %cl,%cl
0f04 leaq 0x(%rip),%rdx
0f0b movq %rdx,%rdi
0f0e movl %eax,%esi
0f10 movb %cl,%al
0f12 callq 0x ; symbol stub for: _printf
0f17 movl $0xxf8(%rbp)
0f1e movl 0xf8(%rbp),%eax
0f21 movl %eax,0xfc(%rbp)
0f24 movl 0xfc(%rbp),%eax
0f27 addq $0x10,%rsp
0f2b popq %rbp
xichenMac:c_simple xichen$
可以看到,对应的汇编已经出来了。
Q:&我想查看__TEXT段的字符串字面量,怎么查看?
A:&可以使用-sv &__TEXT &__cstring参数来得到。修改hello.c,&如下:
#include &stdio.h&
int g_i = 0xAA;
const int g_j = 0xBB;
char *str = &hello&;
int main()
int i = 2;
printf(&%d\n&, i);
}编译成hello.
可以看到,全局的str对应的hello\0和printf输出的%d\n\0字符串被显示了
Q:&我想查看数据区__DATA里面的数据(__data),怎么办?
A:&可以使用-sv &__DATA &__data参数来得到。使用上面的hello,
可以看到前4个字节对应的全局变量g_i在此被显示。如果使用otool &-d &hello会查看hello的__DATA区的数据。
Q:&我想查看全局const变量g_i对应的数据,怎么查看?
A:&可以使用-sv &__TEXT &__const参数来查看。
可以看到0xBB变量的数据在此展示了。
Q:&我只想查看某个函数的汇编形式,怎么办?
A:&可以使用-p参数来指定查看的函数。如下:
上面查看了hello中的main函数的汇编形式(注意,虽然代码中是main函数,但是在可执行文件的符号表中,可能会被改变,这依赖编译器).
Q:&有的可执行文件支持不止一种硬件架构的代码,如何查看包含哪些?
A:&可以使用file命令查看。如上,查看上面的hello文件的信息:
可以看到它是64位运行于x64平台上的可执行文件。
Q:&如何编译得到一个可执行文件,它是通用的,可以包含几种架构代码的?
A:&使用gcc的-arch参数功能来实现。依然使用上面的hello.c代码:
再运行file命令:
可以看到,文件包含了两种架构体系代码。
Q:&看到很多逆向工具,可以修改特定的目标文件实现特定的目的,是否可以修改hello文件来得到希望的执行效果?
A:&是的。我并不善于修改汇编代码,我们可以修改数据段来查看效果。
修改上面的hello.c代码如下:
#include &stdio.h&
int g_i = 0xAA;
const int g_j = 0xBB;
char *str = &hello&;
int main()
int i = 2;
printf(&%s %d\n&, str, i);
编译成hello.并查看执行效果:
下面就使用vi来修改可执行文件的hello字符串为iello, 最后查看执行效果。使用vi打开hello文件,定位到hello字符串的位置:
修改hello的h为i:
保存,然后执行hello:
可以看到,执行结果已经变了。
Q:&有时,需要查看一个目标文件中各个段的大小,如何查看?
A:&可以使用size命令。
Q:&有时,需要查看目标文件中可打印的字符串有哪些,如何查看?
A:&可以使用strings命令。
Q:&很多编译好的程序,里面包含了符号表或者一些调试信息,如何去除它们?
A:&可以使用strip命令。
使用strip命令后:
可以看到,符号信息确实少了。
Q:&上面提到的nm命令,它是做什么的?
A:&它是可以查看目标文件中包含的符号信息的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:307483次
积分:6305
积分:6305
排名:第2351名
原创:302篇
评论:292条
阅读:17893
文章:24篇
阅读:71163
(3)(1)(1)(5)(3)(12)(20)(2)(10)(6)(185)(39)(1)(2)(4)(2)(6)(1)}

我要回帖

更多关于 c语言开发工具哪个好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信