黑马程序员技术交流社区

标题: #另辟蹊径# 不用MAC学习C语言 [打印本页]

作者: shmilyAshen    时间: 2015-2-25 12:53
标题: #另辟蹊径# 不用MAC学习C语言
本帖最后由 shmilyAshen 于 2015-2-25 13:18 编辑

   不是标题党。。。请看清标题,学习C语言,而不是学习OC
   老手请默默飘过,这个帖子根本不适合你。仅限于完全没有学习过编程的朋友们。这样一说又显得调档了不少啊。{:2_39:}
   《ios开发零基础教程》这个东东确实好,受益匪浅。但是有个问题,这个是基于MAC的教程。对于我们大多数人而言,还是windows常见一些,所以这里稍微有点问题。这个帖子就专门针对在windows下学习C语言。

    自我总结:本帖主要说明在VS中学习并调试C语言遇到的一些问题。
    说实话,VC6我没有使用过,所以不敢说什么,大家可以百度一下自行下载安装,不多说;
    我一直使用的是VS2010,不得不说,这个IDE确实很强大,用着非常顺手。我学习C#时就是看的传智播客的杨中科老师的视频,用的VS,爽。
    (而现在vs已经有了20015了,不得不感慨这版本的更新速度.){:2_40:}
    下载地址:http://www.xiazaiba.com/html/4614.html
    说明:2.5G,大家有个心理准备。
    1.新建项目:
    如何安装,如何新建项目,不多说。
    新建什么项目?我们看到vs里面只有vb 、C# 、C++,好像没有C哦,到底使用哪个?
    C++控制台应用程序。。。。。为什么?不用多说了吧。

    2.程序执行完,控制台屏幕消失
    这个问题比较简单,程序执行完了,自动关闭。可以通过在最后一句加上getchar();函数来防止自动关闭。
    为何?请自行百度。

   3.error LNK1123: 转换到 COFF 期间失败。
    以下任意一个即可解决。推荐方案1,因为一次性以后都不需要操作。
    解决方案1:微软官方给出的具体解决方法是给VS2010打SP1补丁。
       解决方案2:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。

      解决方案3:项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”,改成“否”。


    4.error C4996: 'scanf': This function or variable may be unsafe.

   解决方案1:将原来的旧函数替换成新的 Security CRT functions。这里是scanf_s

    解决方案2:用以下方法屏蔽这个警告:

1. 在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:

#define _CRT_SECURE_NO_DEPRECATE

2. 或声明 #param warning(disable:4996)

3. 更改预处理定义:

项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:

_CRT_SECURE_NO_DEPRECATE

解决方案3:方法二没有使用更加安全的 CRT 函数,显然不是一个值得推荐的好方法,但我们又不想一个一个地改函数名,这里还有一个更简便的方法:

在预编译头文件 stdafx.h 里(同样要在没有include任何头文件之前)定义下面的宏:

#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1

在链接的时候便会自动将旧函数替换成 Security CRT functions 。


    在VS010里面是没有这个错误的,但是在2012以后就有了。我只使用过第一个解决方案,效果不错。大家可以试试。

   



    再有其他问题,在和大家一起分享。

    未完待续。。。。。。。。。。。。。




作者: dio925_heima    时间: 2015-2-25 13:22
我用的是gcc编译器+codeblocks,vs太臃肿。
作者: HMCC    时间: 2015-2-25 13:35
dio925_heima 发表于 2015-2-25 13:22
我用的是gcc编译器+codeblocks,vs太臃肿。

+codeblocks 是哪个操作系统下的。我用的还是VC
作者: fantacyleo    时间: 2015-2-25 15:57
没mac的,分区装个linux发行版学c最好,跟mac上的c开发环境99%一样。毕竟,c是为*nix而生的
作者: dio925_heima    时间: 2015-2-25 16:04
HMCC 发表于 2015-2-25 13:35
+codeblocks 是哪个操作系统下的。我用的还是VC

是codeblocks是跨平台的,windows  linux都可以支持,选择支持你电脑系统的版本就可以了。

作者: PlwNs    时间: 2015-2-25 22:43
有个很好的工具啊,GCC+GTK
作者: zero-xiao    时间: 2015-2-26 01:40
嗯,装个Linux就好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2