问题标签 [c-libraries]

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 投票
1 回答
802 浏览

c++ - 在 Visual Studio、C++ 中使用 FDLIBM 库

我将一些代码从 MATLAB 移植到 C++,发现 MATLAB 的 sin() 和 cos() 函数与 C++ 库中的 sin() 和 cos() 函数产生的结果略有不同。为了消除这些差异,我希望我的 C++ 代码调用 fdlibm 5.3 库中的 sin() 和 cos() 函数,我认为这是 MATLAB 用于 sin() 和 cos() 操作的函数。

但是,我在使用 fdlibm 库时遇到了一些困难。我正在使用 Visual Studio 2010,并从http://www.validlab.com/software/下载了 fdlibm 头文件和源代码,但不确定使用这些文件的最佳方式。我是否需要先将文件构建到静态或动态库中,然后将其链接到我的代码?另外,我如何指定我想使用 fdlibm 中的 sin(),而不是 C++ 库中的?我是否需要修改 fdlibm 源代码以使 sin() 和 cos() 函数位于命名空间内?

非常感谢任何指导。

0 投票
1 回答
1827 浏览

c++ - 用于数值计算的有用 c++ 库

到目前为止,我已经使用了 boost 库。

但是,我想使用矩阵运算和随机数。

请让我知道有用的 C++ 库。

谢谢。

0 投票
2 回答
137 浏览

c - Runtime typechecking for pointers

I want to know how scanf function is implemented. (Just for fun of course) Number of arguments is variable, so it's certainly implemented by va_list, va_arg macros.

It also throws some warnings, when number of arguments does not match with format string. This could be done by parsing format string and comparing it with number of arguments. No magic.

The only thing that I can't see how implemented, is type checking. When type of an argument (pointer to a data) does not match corresponding declaration in format literal, scanf produces a warning. How can one check type of data that a pointer points to?

Example:

Output:

AFAIK the C library is not a part of C language/Compiler, so there is nothing language-related in <stdio.h>. I'm assuming the warning is produced by implementation of scanf, not by compiler [?]. (Maybe using #warning)

If I want to do something similar in some code, how do I know which data type a pointer is pointing to?

Note: I have downloaded source code of GNU C library and looked at scanf.c. I can't find my way through the very complicated code. There is a lot of #ifndef s and calls to other functions with strange names and structure...

0 投票
0 回答
1181 浏览

c - 使用 .h 库在 LoadRunner 中发送 GET 请求的函数?

我在 LoadRunner 中有脚本,它使用 .h 库中的函数发送 POST 请求。

我必须编写新函数并将其添加到 .h 库中,以便有可能将 GET 请求发送到 LoadRunner 中的 Web 服务。

你能告诉我任何想法,如何做到这一点?

0 投票
1 回答
828 浏览

c++ - 为什么 _splitpath_s() 采用自定义大小的字符串缓冲区来返回驱动器号?

在阅读_splitpath_s(). 它在其第一个参数中获取磁盘项目的路径(例如 C:\Temp\MyFile.exe),然后将其拆分为驱动器目录文件夹扩展名。然而,奇怪的是,它会在其第三个参数中询问将保存驱动器名称的字符串缓冲区的长度。

据我所知,驱动器号只能是两个字母的字符串。一个字母后跟一个分号,如A:, B:, C:, 等。因此,在所有情况下,它必须始终是两个字符的字符串。但如果是这样,为什么要_splitpath_s()询问驱动器号的长度?在任何情况下哪个驱动器号可以采用不同的格式?如果它不询问它的长度并假设它是 2,那么最坏的情况会发生什么问题?

0 投票
3 回答
379 浏览

c - 当我们在程序中定义函数时,它们是否存储在标准库中?

由于有两种类型的功能;库函数和用户定义函数......当我们在程序中定义一个函数时,该函数是否像库函数一样存储在标准库中?

0 投票
0 回答
92 浏览

c - 如何让 Windows 将文件夹识别为回收站?

我有一个 FAT32 MicroSD 卡,我的设备在根目录中创建了一个名为“$Recycle.Bin”的文件夹,并设置了隐藏+系统属性,但 Windows 无法将其识别为真正的回收站(具有正确的图标等) .)。

如何欺骗 Windows 将文件夹视为真正的 bin?

我正在为设备(ARM 数据记录器)编写固件,它必须使用 C 语言中的 FATFS 库创建文件夹。我可以询问示例代码,但如果有人能指出我正确的方向,我可以自己编写代码。欢迎所有形式的答案。

0 投票
1 回答
189 浏览

c - 使用 fread/write 函数在 C 中调整哈希表大小

所以我在这个项目上工作只是为了刷新哈希表和一些 C 库..

我已经使用文件 i/o 实现了通用哈希函数和基本表所需的一切。但是当我试图考虑如何调整表大小时,我陷入了困境。

我想知道是否最好将数据从我的表复制到一个新的..或者在第一个填充时初始化一个新的哈希表..

我的困惑主要在于如何有效地将一个哈希表的值复制到一个新的哈希表文件中,以及如何处理前一个文件的无用内存分配

这是我的代码:

编辑:这是一个古老而愚蠢的问题,无视

0 投票
2 回答
282 浏览

c++ - 创建一个可以作为“#include”导入的 C 库"

我想创建一个 C 静态,所以用户可以按如下方式使用它。

我怎样才能做到这一点?

0 投票
1 回答
114 浏览

c++ - 大出乎意料的 u16_t buf

我有调用函数指针的 C 函数(带有指向 buf 的指针和 buf 的大小)

指向函数定义的指针

然后我真正的 c++ 类方法通过该指针获取它:

问题是len相当buf大。

输出是:

怎么可能?