小编lil*_*llq的帖子

权威C书指南和清单

这个问题试图收集社区维护的关于编程语言的优质书籍清单,目标是各种技能水平.

C是一种复杂的编程语言,通过阅读在线教程很难在旅途中学习.综合性书籍通常是学习语言的最佳方式,找到一本好书是第一步.重要的是要避免写得不好的书籍,更重要的是要避免包含严重技术错误的书籍.

请建议编辑接受的答案,以添加高质量的书籍,具有近似的技能水平和每本书的简短描述/描述.(请注意,问题已被锁定,因此不会接受新的答案.列表中会保留一个答案)

随意讨论书籍选择,质量,标题,摘要,技能水平以及您认为错误的任何其他内容.C社区认为令人满意的书籍将列在名单上; 其余的将定期删除.

对于由C和C++用户协会(ACCU)进行评论的书籍,应该与书籍一起添加指向这些评论的链接.

也可以看看:


这个问题在Meta上作为2018年删除问题审计的一部分进行了讨论.
达成共识的目的是保持其未被删除和积极维护.

c

401
推荐指数
1
解决办法
40万
查看次数

如何在C中正确使用extern关键字

我的问题是关于何时应该用externC中的关键字引用函数.

我没有看到何时应该在实践中使用它.在我编写程序时,我使用的所有函数都通过我包含的头文件提供.那么为什么extern访问头文件中没有公开的东西会有用呢?

我可能会想到如何extern正确地工作,如果是这样,请纠正我.

编辑:如果extern是头文件中没有关键字的默认声明,你应该做些什么吗?

c

227
推荐指数
7
解决办法
23万
查看次数

153
推荐指数
5
解决办法
3万
查看次数

C中最好的计时方法?

以高分辨率和可移植性为代码部分计时的最佳方法是什么?

/* Time from here */
ProcessIntenseFunction();
/* to here. */

printf("Time taken %d seconds %d milliseconds", sec, msec);
Run Code Online (Sandbox Code Playgroud)

是否有一个具有跨平台解决方案的标准库?

c performance timer timing

79
推荐指数
3
解决办法
10万
查看次数

一种简单的方法来区分日志文件,忽略时间戳?

我需要区分两个日志文件,但忽略每行的时间戳部分(前12个字符是准确的).是否有一个好的工具,或一个聪明的awk命令,可以帮助我?

shell diff logging parsing compare

38
推荐指数
4
解决办法
2万
查看次数

如何在界面中将方法设为私有?

我有这个界面:

public interface IValidationCRUD
{
    public ICRUDValidation IsValid(object obj);
    private void AddError(ICRUDError error);
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用它(实现接口,自动生成代码)时,我得到了这个:

public class LanguageVAL : IValidationCRUD
{   
    public ICRUDValidation IsValid(object obj)
    {
        throw new System.NotImplementedException();
    }

    public void AddError(ICRUDError error)
    {
        throw new System.NotImplementedException();
    }   
}
Run Code Online (Sandbox Code Playgroud)

AddError方法是公共的,而不是我想要的私有方法.

我怎么能改变这个?

c# interface

38
推荐指数
4
解决办法
5万
查看次数

如何在Ruby on Rails中实现Active Record继承?

如何使用活动记录实现继承?

例如,我想要一个类Animal,类Dog和类Cat.

模型和数据库表映射将如何?

database inheritance activerecord model ruby-on-rails

38
推荐指数
3
解决办法
3万
查看次数

实现命令行界面的建议

我正在重新设计命令行应用程序,并正在寻找一种方法来使其使用更直观.传递给命令行应用程序的参数格式是否有任何约定?或者人们发现有用的任何其他方法?

user-interface command-line

36
推荐指数
2
解决办法
2万
查看次数

你如何在C#中生成一个随机数?

我想在2个值之间生成一个随机浮点数.在C#中执行此操作的最佳方法是什么?

c# random floating-point

33
推荐指数
2
解决办法
4万
查看次数

C的内存泄漏检测器?

什么内存泄漏探测器有人有很好的经验?

以下是目前答案的摘要:

Valgrind - 用于构建动态分析工具的仪器框架.

电围栏 - 与GDB一起使用的工具

夹板 - 注释辅助轻量级静态检查

Glow Code - 这是一个完整的实时性能和内存分析器,适用于使用C++,C#或任何.NET Framework开发应用程序的Windows和.NET程序员

另请参阅此stackoverflow帖子.

c memory debugging memory-leaks

31
推荐指数
2
解决办法
2万
查看次数