一个C#/Java开发者学习本地C/C++的好资源(最好是免费的)是什么?

3

我在写托管代码方面有相当丰富的经验(即C#.net和Java),但我一直想熟练掌握非托管的C/C++(因为我想在几年后毕业时从事视频游戏开发)。然而,在我试图转换时,我发现在C/C++中我本来认为很简单的事情(比如获取数组的长度)变得令人沮丧地困难。所以,我想知道是否有任何好的资源(最好是免费的,最好是在线的),可以帮助一个熟悉托管程序员转向非托管代码。任何建议都将不胜感激!


相关话题:http://stackoverflow.com/questions/45175/学习C语言的在线资源 - UmmaGumma
3
当学习 C/C++ 时,建议您将已知内容放在一边,从零开始学习。有些概念可能与您熟悉,但其他概念在根本上有所不同。不要试图迁移,从头开始学习,这样您就不会假设 C 就像没有 # 的 C#。 ;) - Peter Lawrey
1
我相信你也可以通过使用C# / XNA编写视频游戏来谋生。 - Albin Sunnanbo
@The Elite Gentleman:我认为他在谈论使用纯C++生成本地二进制文件,而不是使用.Net版本。 - John Bode
1
@Stanley L:C是一种较小的语言,但C++提供了更好的数据管理工具(STL是你的朋友)。C++还提供了使内存管理变得更容易的机制(即比C更容易)。在我看来,如果你想学习C ++,最好从C ++开始而不是先学习C;这两种语言有足够的不同之处,以至于你必须放弃一些C的最佳实践。 - John Bode
显示剩余13条评论
5个回答

3

这本书不像Giovanni提到的那么详尽,但它确实是我所要求的。此外,它仍然是一个很好的参考资料。谢谢! - Stanley L

2
我知道这本书的存在:《针对C#开发人员的Pro Visual C++ 2005》。浏览目录,似乎介绍了非托管c++和c++/cli; 所以我认为不托管部分的内容能够解决你的困惑。
但抱歉的是,它不是免费的。

我刚刚搜索了这本书,结果发现它在我的大学图书馆里。谁知道呢!(显然不是我)。无论如何,谢谢,这看起来正是我正在寻找的(或者至少是次优解)。 - Stanley L

1
我只是在这里留下这个链接:C++权威指南和书单。这不是一个免费的资源列表,但通常建议使用真正的书籍学习C++,无论如何您迟早都会得到一本。

1

我更喜欢尝试实验性的学习方式,所以我建议你尝试使用半条命2源引擎编写一些模组。那里有很多文档和一个相当大的社区,当你遇到问题时可以寻求帮助。

此外,在开始之前,我建议你先了解垃圾回收器的工作原理;因为现在你将不再处于托管环境中,需要自己来完成垃圾回收器的工作。花些时间研究这个问题,因为大多数其他托管环境之间的差异会在你编码时变得清晰明了,但缺少垃圾回收器并不是那么明显,可能会导致你编写看起来不错但运行效果很差的代码。

另外,你还应该研究STL。你可以在cplusplus.com上找到很多相关文档。此外,这里还有一份简短而精练的C++教程


0

Visual C++ 开发者中心的入门部分可能会有一些有用的内容,但它并不是专门针对托管代码程序员的,所以您需要浏览一些您已经了解的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接