问题标签 [c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
47105 浏览

c - C 内存管理

我一直听说,在 C 语言中,您必须真正注意如何管理内存。而且我还在开始学习 C,但到目前为止,我根本不需要做任何与内存管理相关的活动。我一直想象着必须释放变量并做各种丑陋的事情。但情况似乎并非如此。

有人可以向我展示(带有代码示例)一个您何时必须进行“内存管理”的示例吗?

0 投票
1 回答
32367 浏览

c - sigprocmask() 中的 Set 和 Oldset

我还没有完全理解,如何使用sigprocmask(). 特别是setandoldset及其语法如何工作以及如何使用它们。

请举例说明,阻止,说 SIGUSR1 几秒钟,然后解除阻止并处理它。

0 投票
3 回答
9312 浏览

c# - 将 SWIG 与 C# 结合使用时的最佳实践是什么?

有没有人在 C# 中使用过SWIG库?如果有,您发现了哪些陷阱以及使用该库的最佳方式是什么?我正在考虑将它用作用 C 编写的程序的包装器,并且我想包装头文件,以便在我的 .NET 应用程序中使用它们。

编辑:对目标操作系统的一些说明。

我计划在 Linux 和 Windows 上运行该应用程序,因此我正在研究 SWIG。P/Invoke 不是一个选项。

0 投票
3 回答
9347 浏览

c++ - 与 stdbool.h C++ 接口

在一个项目中,我在 C++ 和使用 stdbool.h 的 C 库之间进行接口定义。

一些结构有bool成员。因此,如果我将这些结构之一定义为 C++ 函数中的局部变量并将其传递给 C 函数,则 C++ 和 C 之间的大小不一致,因为 bool 在 C++ 中是一个再见,在 C 中是 4。

有没有人对如何在不诉诸我目前的解决方案的情况下克服这个问题有任何建议

这违反了stdbool.h的 C99 标准

0 投票
7 回答
108789 浏览

c++ - 对于 C/C++ 程序及其插件 DLL,最好的免费内存泄漏检测器是什么?

我有一个 .exe 和许多 .exe 加载的插件 .dll 模块。(我有两者的源代码。)跨平台(有源代码)解决方案将是理想的,但该平台可以缩小到 WinXP 和 Visual Studio(在我的情况下为 7.1/2003)。

内置的 VS 泄漏检测器仅给出调用 new/malloc 的行,但我有一个用于分配的包装器,因此最好使用完整的符号堆栈跟踪。

检测器还能够检测 .exe 及其随附的插件 .dll 模块中的泄漏。

0 投票
6 回答
13728 浏览

c++ - C++ DLL def 文件中的重载函数

我正在编写一个 C/C++ DLL 并希望导出我在使用这样的 .def 文件之前完成的某些函数

使用这样定义的代码,例如:

但是,如果我想声明 Foo() 的重载方法,例如:

由于 def 文件只有函数名而不是完整的原型,我看不到它如何处理重载函数。您是否只使用一个条目,然后在将正确原型化的函数指针传递给 LoadLibrary() 时指定您想要的重载版本?

编辑:要清楚,这是在使用 Visual Studio 2005 的 Windows 上

编辑:将非def(__declspec)方法标记为答案...我知道这实际上并没有按照我的意愿使用def文件解决问题,但似乎没有使用def文件的(官方)解决方案。但是,如果有人知道我们没有重载函数和 def 文件的内容,则将问题悬而未决。

0 投票
7 回答
2491 浏览

c - 谷歌计算器故障,浮动与双倍可能是一个原因吗?

我这样做只是为了好玩(所以,不完全是一个问题,我可以看到降级已经发生了)但是,代替谷歌新发现的无法正确地数学 (检查它!根据谷歌 500,000,000,000,002 - 500,000,000,000,001 = 0),我想我会在 C 中尝试以下内容来运行一些理论。

当你运行这个程序时,你会得到以下

看起来 Google 使用的是简单的 32 位浮点精度(此处的错误),如果您在上面的代码中将浮点数切换为双精度,则可以解决问题!会是这样吗?

/mp

0 投票
9 回答
2248 浏览

c - 将 16 位整数乘以双精度的最快方法是什么?

在 8 位微控制器上,我想执行以下操作:

尽可能少的指令。

0 投票
7 回答
2709 浏览

c++ - MFC 资源/链接

经过多年的新工作,我即将重新进入 MFC 世界。人们推荐哪些资源来刷新记忆?我最近主要在做 C#。

还有人们推荐的任何以 MFC 为中心的网站或博客吗?

0 投票
7 回答
58266 浏览

c++ - C/C++源代码可视化?

基本上我想要生成源代码可视化的工具,例如:

  • 函数调用图
  • 依赖图
  • ...