《过期男妓》全5本 网盘资源 最好解压了的

博客访问: 50060
博文数量: 26
博客积分: 920
博客等级: 准尉
技术积分: 325
注册时间:
努力做个顶好的程序匠
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: C/C++
C语言算是大学里接触的最早,用的最"多"的语言了,对于大部分学习计算机的学生基本上是从开始学习C语言起,凭借着一句经典的"hello, world!"迈入了计算机的世界的,初体味了一把这个世界还有个叫编程的活。作为系统级的开发首选语言,只诞生以来就屹立不倒,C语言的重要性是不言而喻的。就是怀着这种对C的无比敬意开始了我的伪程序之旅。然而大学里面没写过什么像样的东西,说来惭愧,什么课程设计,或是自称为项目的东西大都由些蹩脚的程序拼凑而成。做为一个菜鸟级别的程序员,使用C有些年,但对于C没有有真正的了解。我想有必要从新了解这门古老的语言背后的东西,知其然还要知其所以然,才能更好的使用这门语言。当然语言是工具,但了解工具的强项、陷阱与缺陷,对于工具威力的发挥 ,对于你去驾驭工具的娴熟程度是那是大有裨益啊。C语言的设计哲学就是给你一把锤子嘛, 用不好可是会砸自己的脚。
C程序编译流程
编译一个C程序可以分为四阶段,预处理阶段-&生成汇编代码阶段-&汇编阶段-&链接阶段,这里以linux环境下gcc编译器为例。使用gcc时默认会直接完成这四个步骤生成可以执行的程序,但通过编译选项可以控制值进行某些阶段,查看中间的文件。
gcc指令的一般格式为:
&&&&&gcc [选项] 要编译的文件 [选项] [目标文件]
其中,目标文件可缺省,gcc默认生成可执行的文件名为:a.out
gcc main.c & & & & & & & & & & & & & & & & &直接生成可执行文件a.out
gcc -E main.c -o hello.i & & & & & & & & 生成预处理后的代码(还是文本文件)
gcc –S main.c -o hello.s & & & & & & & 生成汇编代码
gcc –c main.c -o hello.o & & & & & & &生成目标代码
C程序目标文件和可执行文件结构
目标文件和可执行文件可以有几种不同的格式,有ELF(Excutable and linking Format,可执行文件和链接)格式,也有COFF(Common Object-File Format,普通目标文件格式)。虽然格式不一样,但具有一个共同的概念,那就是段(segments),这里段值二进制格式文件中的一块区域。
linux下的可执行文件有三个段文本段(text)、数据段(data)、bss段,可用nm命令查看目标文件的符号清单。
编译过程: &源文件--------&到可执行文件&
其中注意的BSS段,并没有保存未初始化段的映像,只是记录了该段的大小(应为该段没有初值,不管具体值),到了运行时再到内存为未初始化变量分配空间,这样可以节省目标文件空间。对于data段,只是保存在目标文件中,运行时直接载入。
C程序的内存布局
运行过程: &&&&&&&&&&可执行文件-&内存空间
对于data段,保存的是初始化的全局变量和stataic的局部变量,直接载入内存即可。 text段保存的是代码直接载入。BSS段从目标文件中读取BSS段大小,然后在内存中紧跟data段之后分配空间,并且清零(这也是为什么全局表量和static局部变量不初始化会有0值得原因)
函数调用栈
作为面向过程的语言,C基本的特色就是模块化、过程化。一个C程序或一个模块由一堆函数组成,然后程序执行,按代码的结构调用这些函数,完成功能。那么函数调用的背后编译器到底为我们做了什么呢?
void fun(int a, double b)
&&&& int c = 300;
&&&& c += 1;
int main()
&&&& fun(100, 200);
&&&& return 0;
.globl _fun & & & & & & & & & & & & & & & & & ;全局函数符号
&&&& .def&&&& _ & &&
_fun: & & & & & & & & & & & & & & & & & & & & & ;函数fun入口
&&&& pushl&&&& %ebp & & & & & & & & & & & & ;保存ebp值
&&&& movl&&&& %esp, %ebp & & & & & & & &;采用ebp来访问栈顶
&&&& subl&&&& $4, %esp & & & & & & & & & & & ;esp用来扩展堆栈分配局部变量空间
&&&& movl&&&& $300, -4(%ebp) & & & & & & ;局部变量赋值
&&&& leal&&&& -4(%ebp), %eax & & & & & & &;得到局部变量有效地址
&&&& incl&&&& (%eax) & & & & & & & & & & & & & ;访问局部变量
&&&& leave & & & & & & & & & & & & & & & & & & & &;相当于movl ebp, esp & pop ebp &
.globl _main
&&&& .def&&&& _ & &
_main: & & & & & & & & & & & & & & & & & &&&&&;main函数入口
& & &;....
&&&& movl&&&& $200, 4(%esp) & & & & & & ; 参数入栈&
&&&& movl&&&& $100, (%esp) & & & & & & & ; 参数入栈
&&&& call&&&& _fun
& & &;.....
函数调用过程:
参数按从右到左顺序放到栈顶上
call调用,将返回地址ip入栈保存
在栈上分配局部变量空间
执行函数操作
函数返回过程:
ret会从栈上弹出返回地址
执行调用前后面的代码
由此得的结论是,函数调用一个动态的过程,调用的时候又有一个栈帧,调用的时候展开,结束的时候收缩。局部变量在运行到该函数的时候在栈上分配内存,这些内存实际上没有名字的,不同于数据段,有符号名字,局部变量在函数结束就销毁了。这也是什么局部变量同名互补干涉的原因,因为编译以后 ,根本就不是通过名字来访问的。
全局变量有初始化或未初始化之分,初始化了的全局变量保存在data段,未初始化全局变量保存在BSS段,data段和BSS段都是程序的数据段
int global1 = 100;
int main()
&&&& global1 = 101;
&&&& extern int global2;
&&&& global2 = 201;
&&&& return 0;
int global2 = 200;
.globl _global1 & & & & & & & & & &;全局符号global1
&&&& .data & & & & & & & & & & & & & & &;位于数据段
&&&& .align 4
&&&& .long&&&& 100 & & & & & & & & & &;全局变量初值
& & &;.....
.globl _main & & & & & & & & & & & & & ;全局符号main&
&&&& .def&&&& _ & & & & & & & & & ;是一个函数
_main: & & & & & & & & & & & & & & & & & ;函数入口
&&&& movl&&&& $101, _global1 & & & & &;通过符号访问全局变量
&&&& movl&&&& $201, _global2 & & & & &;通过符号访问全局变量,这个变量还未定义
&&&& movl&&&& $0, %eax
&&&& leave
.globl _global2 & & & & & & & :全局符号golbal2
&&&& .data & & & & & & & & & & & ;位于数据段
&&&& .align 4
_global2: & & & & & & & & & & & ;全局变量的定义,初始化值
&&&& .long&&&& 200 & & & & & &&
int global1;
int main()
&&&& global1 = 101;
&&&& extern int global2;
&&&& global2 = 201;
&&&& return 0;
int global2;
.globl _main
&&&& .def&&&& _ & &&
&&&& movl&&&& $101, _global1 &;通过符号访问全局变量,这个符号可以在之后,或其他文件中定义
&&&& movl&&&& $201, _global2
&&&& movl&&&& $0, %eax
&&&& leave
&&&& .comm&&&& _global1, 16&&&& # 4 & & & & ;标明这是个未初始化全局变量,声明多个,但最后运行时在bss段分配空间
&&&& .comm&&&& _global2, 16&&&& # 4
可以得出结论:全局变量独立于函数存在,所有函数都可以通过符号访问,并且在运行期,其地址不变。
编译与链接
看下面这个程序链接出错,找不符号a,print, 但生成汇编代码并没有问题。这是因为编译的时候只是把符号地址记录下来,等到链接的时候该符号定义了才会变成具体的地址。如果链接的时候所有符号地址都有定义,那么生成可执行文件。如果有不确定地址的符号,则链接出错。
#include&stdio.h&
int main()
&&&& print("a = %d\n", a);
&&&& return 0;
& & &.file&&&& "fun.c"
&&&& .def&&&& ___ & &
&&&& .section .rdata,"dr"
&&&& .ascii "a = %d\12\0"
&&&& .text
.globl _main
&&&& .def&&&& _&&&& .
&&&& movl&&&& _a, %eax & & & & &;通过符号访问全局变量a
&&&& movl&&&& %eax, 4(%esp)
&&&& movl&&&& $LC0, (%esp)
&&&& call&&&& _print & & & & & & & ;通过符号访问函数print
&&&& movl&&&& $0, %eax
&&&& leave
&&&& .def&&&& _ & & ;说明print是个函数符号
全局变量的链接属性
全局变量的默认是extern的,最终存放在数据段,整个程序的所有文件都能访问,如果加上static则表明值能被当前文件访问。
#include&stdio.h&
static int a = 10;
int main()
&&&& a = 20;
&&&& return 0;
&&&& .data
&&&& .align 4
_a: & & & & & & & & & & & & & & &;全局变量a定义,少了glbal的声明
&&&& .long&&&& 10
&&&& .def&&&& ___ & &
&&&& .text
.globl _main
&&&& .def&&&& _ &
& & &; ...
&&&& movl&&&& $20, _a
&&&& movl&&&& $0, %eax
去掉int a前面的static产生的汇编代码为:
.globl _a & & & & & & & & & &; global声明符号 a为全局
&&&& .data
&&&& .align 4
&&&& .long&&&& 10
&&&& .def&&&& ___main
&&&& .text
.globl _main
&&&& .def&&&& _main
&&&& call&&&& __alloca
&&&& call&&&& ___main
&&&& movl&&&& $20, _a
&&&& movl&&&& $0, %eax
对于未初始化全局变量
#include&stdio.h&
int main()
&&&& a = 20;
&&&& return 0;
.globl _main
&&&& .def&&&& _&&&& .scl&&&& 2;&&&& .type&&&& 32;&&&& .endef
&&&& movl&&&& $20, _a
&&&& movl&&&& $0, %eax
&&&& leave
&&&&&.lcomm _a,16 & & & & &; 多了个l表明是local的未初始化全局变量
去掉int a前面的static
.globl _main
&&&& .def&&&& _&&&& .scl&&&& 2;&&&& .type&&&& 32;&&&& .endef
&&&& movl&&&& $20, _a
&&&& movl&&&& $0, %eax
&&&& leave
&&&& .comm&&&& _a, 16&&&& # 4 & & & & &;extern链接属性的未初始化全局变量
static局部变量
static局部变量具备外部变量的生存期,但作用域却和局部变量一样,离开函数就能访问
#include&stdio.h&
&&&& static int a = 10;
&&&& return (++a);
int main()
&&&& printf("a = %d\n",fun());
&&&& printf("a = %d\n",fun());
&&&& .data
&&&& .align 4
a.0: & & & & & & & & & &;static局部变量是放在代码段
&&&& .long&&&& 10 & & ;分配空间初始化
&&&& .text
.globl _fun
&&&& .def&&&& _ &&
&&&& pushl&&&& %ebp
&&&& movl&&&& %esp, %ebp
&&&& incl&&&& a.0
&&&& movl&&&& a.0, %eax
&&&& popl&&&& %ebp
&&&& .def&&&& ___ &&
&&&& .section .rdata,"dr"
编译实际还是还是把static局部变量放在数据段存储(要么怎么可能在程序运行期间地址不变呢),值不过符号名会动点手脚(这样出了函数就访问不了了),同时候 多个函数中定义同名的static局部变量,实际上是不同的内存单元,互补干涉了。
阅读(4149) | 评论(0) | 转发(3) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。初学C语言的人用哪种编辑器最好?
初学C语言的人用哪种编辑器最好?
09-01-19 &
这种可以呀。Turbo C/C++ for Windows 集成实验与学习环境 V2007.7 我想这个应该可以的 Turbo C/C++ for Windows 集成实验与学习环境是从事一线教学的大学教师根据 C 语言初学者的特点,量身定制的一个简单易用的 C 语言实验与学习软件。软件集成了高校 C 语言教学中使用最多的三种编译器Visual C++ 6.0 、Turbo C++3.0和Turbo C 2.0 ,支持 C 、 C++ 、标准 C 、标准C++ 、Windows C 程序的编辑、调试、运行,给高校 C 语言的实验提供了简单易用的软件实验环境。同时还集成了《 C 语言入门教程(每章均有该章的学习目标、学习重点、 C 语言初学者易错点和习题答案分析)》, C 语言学习方法指导、标准 C 、标准 C++ 、Windwos 入门程序实例、典型源程序、典型的函数算法,课程设计指导、课程设计源程序、 Visual C++6.0 常见编译错误信息、Turbo C++3.0常见编译错误信息、 Turbo C2.0 常见编译错误信息、C语言专业词汇的中英文对照等,同时还有 2001 年到 2005 年二级 C 语言的全部真题笔试试卷及答案与分析和 10 套全真上机模拟试题和详尽的答案与分析, “编程日记” 功能可以让你记录你... 下载地址:
请登录后再发表评论!
这种可以呀。Turbo C/C++ for Windows 集成实验与学习环境 V2007.7 我想这个应该可以的 Turbo C/C++ for Windows 集成实验与学习环境是从事一线教学的大学教师根据 C 语言初学者的特点,量身定制的一个简单易用的 C 语言实验与学习软件。软件集成了高校 C 语言教学中使用最多的三种编译器Visual C++ 6.0 、Turbo C++3.0和Turbo C 2.0 ,支持 C 、 C++ 、标准 C 、标准C++ 、Windows C 程序的编辑、调试、运行,给高校 C 语言的实验提供了简单易用的软件实验环境。同时还集成了《 C 语言入门教程(每章均有该章的学习目标、学习重点、 C 语言初学者易错点和习题答案分析)》, C 语言学习方法指导、标准 C 、标准 C++ 、Windwos 入门程序实例、典型源程序、典型的函数算法,课程设计指导、课程设计源程序、 Visual C++6.0 常见编译错误信息、Turbo C++3.0常见编译错误信息、 Turbo C2.0 常见编译错误信息、C语言专业词汇的中英文对照等,同时还有 2001 年到 2005 年二级 C 语言的全部真题笔试试卷及答案与分析和 10 套全真上机模拟试题和详尽的答案与分析, “编程日记” 功能可以让你记录你... 下载地址:
请登录后再发表评论!
你是想问哪个编译器吧??gnu/gcc 的,相当流行。编辑的话,vim
请登录后再发表评论!
turbo 3.0我们上课就用这个听我的,没错
请登录后再发表评论!
先用Visual FoxPro 6.0,以后就用VC++ 6.0,学了c++编程,C就不在话下了。
请登录后再发表评论!
1.可以先从java基础开始。先了解一下java得运行环境jvm(java虚拟机),在了解 一下java API文档,在学习java得语法基础,如果有一定得编程语言既相互,java语法很容易理解。重点是要在这一阶段彻底理解了面向对象得思想。在这一阶段可以做一些小的例子,用JCreator就可以了。2.掌握了java得基础知识以后,在学习集合框架,java GUI,这方面的知识,如果想做web开发得话这部分知识知道就可以了,用会用就行,最主要的是掌握JDBC 连接数据库和多线程得问题。主要工具可以用eclipse,Netbeans等。3.在深入得学习就是J2EE,J2SE等企业级项目得开发。就要学习各种框架得用法如spring。工具最好用MyEclipse,服务器可以用tomcat.4.要看一些java视频,你可以去这个网站看看,清软国际学院  QQ:我学的时候从这里面弄了不少呢,觉得好的话顶一下,谢谢要想学好java,有很长得一段路要走!
请登录后再发表评论!
我给你学习视频吧尚观-Linux嵌入式开发视频之C语言基础类型运算符表达式1 类型运算符表达式2 类型运算符表达式3 控制流1 控制流2 函数与程序结构1 函数与程序结构2 指针与数组1 指针与数组2 指针与数组3 结构体共用体位字段1 结构体共用体位字段2 结构体共用体位字段3 C_指针 尚观-嵌入式高级C语言进阶C语言概述-01C语言概念、发展历史、特点C语言概述-02C基本程序结构等C语言概述-03C语言第2个程序第3个程序C语言概述-04C程序开发过程C语言概述-05C语言开发常见错误分析C语言概述-06C语言 开发语言和开发工具的关系C编程基础-01C语言基本数据类型C编程基础-02常量和变量C编程基础-03const类型修饰符概念编程基础-03const类型修饰符实例C编程基础-04volatile类型修饰符C编程基础-05extern,static存储 C编程基础-06register存储类型说明符C编程基础-07auto存储类型说明符C编程基础-08操作符-算术操作符C编程基础-09操作符-sizeof操作符C编程基础-09操作符-关系逻辑操作符C编程基础-09操作符-位运算操作符C编程基础-10表达式C编程基础-11if条件判断结构C编程基础-12switch条件判断结构C编程基础-13for循环结构C编程基础-14while循环结构C编程基础-15跳转语句C编程基础-16模块化设计方法C编程基础-17函数的声明和定义C编程基础-18函数的调用C编程基础-19递归函数C编程基础-20函数返回值C编程进阶-1数组C编程进阶-1字符串C编程进阶-3指针C编程进阶-4函数指针C编程进阶-5动态类型分配C编程进阶-6指针常见错误C编程进阶-7指针与数组C编程进阶-8编译预处理C编程进阶-9结构体基础C编程进阶-10链表C编程进阶-11共用体C编程进阶-12位段C编程进阶-13枚举C编程进阶-14文件C编程总结
请登录后再发表评论!
这种可以呀。turbo c/c++ for windows 集成实验与学习环境 v2007.7
想这个应该可以的 turbo c/c++ for windows 集成实验与学习环境是从事一线教学的大学教师根据 c 语言初学者的特点,量身定制的一个简单易用的 c 语言实验与学习软件。软件集成了高校 c 语言教学中使用最多的三种编译器visual c++ 6.0 、turbo c++3.0和turbo c 2.0 ,支持 c 、 c++ 、标准 c 、标准c++ 、windows c 程序的编辑、调试、运行,给高校 c 语言的实验提供了简单易用的软件实验环境。同时还集成了《 c 语言入门教程(每章均有该章的学习目标、学习重点、 c 语言初学者易错点和习题答案分析)》, c 语言学习方法指导、标准 c 、标准 c++ 、windwos 入门程序实例、典型源程序、典型的函数算法,课程设计指导、课程设计源程序、 visual c++6.0 常见编译错误信息、turbo c++3.0常见编译错误信息、 turbo c2.0 常见编译错误信息、c语言专业词汇的中英文对照等,同时还有 2001 年到 2005 年二级 c 语言的全部真题笔试试卷及答案与分析和 10 套全真上机模拟试题和详尽的答案与分析, “编程日记” 功能可以让 记录 ... 下载地址:
请登录后再发表评论!
呵呵楼主你看看我给你 的视频吧尚观-Linux嵌入式开发视频之C语言基础类型运算符表达式1 类型运算符表达式2 类型运算符表达式3 控制流1 控制流2 函数与程序结构1 函数与程序结构2 指针与数组1 指针与数组2 指针与数组3 结构体共用体位字段1 结构体共用体位字段2 结构体共用体位字段3 C_指针 尚观-嵌入式高级C语言进阶C语言概述-01C语言概念、发展历史、特点C语言概述-02C基本程序结构等C语言概述-03C语言第2个程序第3个程序C语言概述-04C程序开发过程C语言概述-05C语言开发常见错误分析C语言概述-06C语言 开发语言和开发工具的关系C编程基础-01C语言基本数据类型C编程基础-02常量和变量C编程基础-03const类型修饰符概念编程基础-03const类型修饰符实例C编程基础-04volatile类型修饰符C编程基础-05extern,static存储 C编程基础-06register存储类型说明符C编程基础-07auto存储类型说明符C编程基础-08操作符-算术操作符C编程基础-09操作符-sizeof操作符C编程基础-09操作符-关系逻辑操作符C编程基础-09操作符-位运算操作符C编程基础-10表达式C编程基础-11if条件判断结构C编程基础-12switch条件判断结构C编程基础-13for循环结构C编程基础-14while循环结构C编程基础-15跳转语句C编程基础-16模块化设计方法C编程基础-17函数的声明和定义C编程基础-18函数的调用C编程基础-19递归函数C编程基础-20函数返回值C编程进阶-1数组C编程进阶-1字符串C编程进阶-3指针C编程进阶-4函数指针C编程进阶-5动态类型分配C编程进阶-6指针常见错误C编程进阶-7指针与数组C编程进阶-8编译预处理C编程进阶-9结构体基础C编程进阶-10链表C编程进阶-11共用体C编程进阶-12位段C编程进阶-13枚举C编程进阶-14文件C编程总结
请登录后再发表评论!
这种可以呀。turbo c/c++ for windows 集成实验与学习环境 v2007.7
想这个应该可以的 turbo c/c++ for windows 集成实验与学习环境是从事一线教学的大学教师根据 c 语言初学者的特点,量身定制的一个简单易用的 c 语言实验与学习软件。软件集成了高校 c 语言教学中使用最多的三种编译器visual c++ 6.0 、turbo c++3.0和turbo c 2.0 ,支持 c 、 c++ 、标准 c 、标准c++ 、windows c 程序的编辑、调试、运行,给高校 c 语言的实验提供了简单易用的软件实验环境。同时还集成了《 c 语言入门教程(每章均有该章的学习目标、学习重点、 c 语言初学者易错点和习题答案分析)》, c 语言学习方法指导、标准 c 、标准 c++ 、windwos 入门程序实例、典型源程序、典型的函数算法,课程设计指导、课程设计源程序、 visual c++6.0 常见编译错误信息、turbo c++3.0常见编译错误信息、 turbo c2.0 常见编译错误信息、c语言专业词汇的中英文对照等,同时还有 2001 年到 2005 年二级 c 语言的全部真题笔试试卷及答案与分析和 10 套全真上机模拟试题和详尽的答案与分析, “编程日记” 功能可以让 记录 ... 下载地址:
请登录后再发表评论!
C与C++程序设计学习与实验系统 2010好  东西 我 研究 两三天 苦于 没有什么 能解释 函数 东西
    现在 终于 有  谢谢
请登录后再发表评论!
用turboC 2.0 ,我是这个专业的学生,学校让用这个,刚开始我不喜欢,因为还有很多更方便的编译器,不过后来才慢慢发现它对初学者的好处  培养初学者的严谨,还有敲代码的速度和准确度  我有个关于C语言的qq群 欢迎加入讨论学习  群号:
请登录后再发表评论!Pages: 1/2
主题 : 用什么C语言编译器比较好...
级别: 新手上路
可可豆: 300 CB
威望: 300 点
在线时间: 9(时)
发自: Web Page
来源于&&分类
用什么C语言编译器比较好...&&&
我是个新手,,现在想学好C语言,,然后学苹果开发,,请问,用什么C语言编译器比较好呢..我一直都找不到好的...请各位推荐一个~!
级别: 新手上路
可可豆: 300 CB
威望: 300 点
在线时间: 9(时)
发自: Web Page
啊!!怎么没有人啊,,救救我啊
级别: 新手上路
可可豆: 711 CB
威望: 711 点
在线时间: 122(时)
发自: Web Page
你问的是windows上的还是MAC上的?
级别: 新手上路
可可豆: 300 CB
威望: 300 点
在线时间: 9(时)
发自: Web Page
回 2楼(icecoldmoon) 的帖子
windows的~.没钱买MAC~!
级别: 侠客
UID: 29204
可可豆: 1096 CB
威望: 1095 点
在线时间: 165(时)
发自: Web Page
C语言当然是vc环境啦
级别: 新手上路
可可豆: 711 CB
威望: 711 点
在线时间: 122(时)
发自: Web Page
可以装个VMWARE虚拟一个MAC系统...然后使用XCODE
级别: 新手上路
可可豆: 711 CB
威望: 711 点
在线时间: 122(时)
发自: Web Page
如果你为了学IPHONE的开发建议直接学OBJ-C
级别: 新手上路
可可豆: 300 CB
威望: 300 点
在线时间: 9(时)
发自: Web Page
回 6楼(icecoldmoon) 的帖子
OBJ-C在哪可以学,,现在这个语言的书很少,,网上有资源吗?那个OBJ-C用什么编译器
级别: 精灵王
发帖: 1052
可可豆: 10528 CB
威望: 10528 点
在线时间: 727(时)
发自: Web Page
完全不需要学c,虽然我两样都有学。做应用或游戏obj-c就够了,学c是为了精通,但建议后学。
级别: 新手上路
可可豆: 300 CB
威望: 300 点
在线时间: 9(时)
发自: Web Page
回 8楼(westbugs) 的帖子
我也想直接学OBJ-C啊~~可是找不到资源教学,,在网上看的一个16岁就成功开发的,,也是直接学OBJ-C的,,我就是找不到资源~
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 17313 人关注过本帖
标题:初学c语言用什么编译器好啊?
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:12&&&
初学c语言用什么编译器好啊?
初学c语言用什么编译器好啊?大神赐教,都说vc++6.0不好
搜索更多相关主题的帖子:
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
对初学者来说 问编译器不如问编程环境
我觉得 初学有两种选择 一个是高版本的Visual Studio 至少是2008版以上的
这个是IDE 优点是东西全 集成度好 缺点
1. 除了Express版其他的是花钱的 几千块一套罢 当然你用盗版我也管不了
2. 加入了很多微软自己的东西 可能和书上的不大一样
3. 很大 比较慢 大约几个G 对初学者和不是以它为职业的人来说过于庞大了
还有一个是我一直推荐的C-Free 国人的作品 试用版不花钱 轻量级的IDE罢 默认编译器是GCC优点
1. 相比Visual Studio和书上的东西比较配套 简单
2. 能接触到GCC这个优秀的编译器
1. 功能不够全 但对入门足够了
2. 相比Visual Studio不够人性化
3. 可能会有一些小毛病
4. 高版本Windows的兼容性也不大好
各有所长 选自己喜欢的罢 我一般推荐这两个
[ 本帖最后由 zklhp 于
21:32 编辑 ]
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
对学习来说,vs Express版的足够了,而且可以单选特定语言,不用全选。选择一个没有详尽帮助文档的学习环境,自己想过了。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
初学,是学习该语言最基础、最普遍的东西,重点不是独特知识,在这种学习意义上说,用什么编译器都是差不多的,其实像TC这种也可以了。没多少要学的。
授人以渔,不授人以鱼。
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
以下是引用TonyDeng在 21:15:03的发言:
初学,是学习该语言最基础、最普遍的东西,重点不是独特知识,在这种学习意义上说,用什么编译器都是差不多的,其实像TC这种也可以了。没多少要学的。
3. 64位操作系统没法用
等 级:贵宾
威 望:11
帖 子:330
专家分:1132
在精华区有个帖子,贴出了主流的编译器(或者说是IDE,集成开发环境更准确一些)的用法,楼主自己参考选择.
代码测试环境:&&WinXP+C-Free5.0.
等 级:论坛游民
帖 子:21
专家分:46
力推C-Free 5.0
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
都是一样的,学最基本的东西就可以了。自己的机器能运行什么环境,就用什么环境。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
vs2012的帮助系统,本地安装包镜像是2.2G。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:13
帖 子:657
专家分:1517
学习了,呵呵
版权所有,并保留所有权利。
Powered by , Processed in 0.130141 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

 

随机推荐