<分区>
我一直在为我的学术类(class)使用 C/C++ 进行编程,并且印象中我已经很好地掌握了它。但最近我不得不在一个蓝牙应用程序中工作,该应用程序在 Linux 机器和嵌入式系统中具有服务器和客户端实现。我学习了 bluez 蓝牙 API、套接字/网络编程并对其进行了编码。
但是我遇到了很多问题,包括内存泄漏和段错误以及其他与内存相关的错误。随着代码变得越来越复杂,我几乎失去了对指针、线程和套接字的控制。这让我想知道我有很多东西要学,而他们在基本的 C/C++ 书籍中没有说。所以我想询问可用的资源,这些资源将有助于以专业的方式在 C/C++ 中更好地编写代码。特别是对于 Linux/Mac 环境(gcc 编译器)。
编辑:将 C 更改为 C++,因为它会造成困惑。
这个问题太大了,太大了。
简而言之,除了继续前进,您无能为力。您将多次遇到段错误。您唯一可以做的就是保持专注,孜孜不倦地寻找这些错误,并始终相信错误存在于您的代码中,而不是存在于编译器或您使用的某些可靠的库中。当您遇到困难时,请在此处发布您具体的、范围狭窄的问题并附上相关代码。届时我们会帮助您。
现在,从现在开始,这真的取决于您使用的是什么语言:C 还是 C++?这些是如此不同的词是不够的。如果您使用的是 C++,那么我给出的第一个建议是一直使用 RAII。如果您使用的是 C,那么请始终注意什么拥有该指针,何时何地释放它,最重要的是指针指向何处。此外,始终初始化您的数据,尤其是指针。没关系在时间之前表现,除了 big-oh 表现。
就是这样。除此之外,请发布您的具体问题,我们会解决。这才是正确的学习方式™。