问题标签 [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.
c - C 的变体数据类型库
是否有一个像样的开源 C 库来存储和操作
动态类型变量(又名变体)?我主要对原子值(int8、int16、int32、uint、字符串、blob 等)感兴趣,而 JSON 样式的数组和对象以及自定义对象也很好。这种库有用的一个主要情况是使用 SQL 数据库。
这种库最明显的特征是所有支持值的单一类型,例如:
其他功能可能包括将 Variant 对象与 C 结构相互转换(使用绑定表)、将值与字符串相互转换,以及与现有数据库库(如 SQLite)集成。
注意:我不认为这个问题是C 中通用数据类型的任何库的副本?,指的是“队列、树、地图、列表”。我所说的更侧重于使 SQL 数据库的使用大致与在解释语言中使用它们一样顺畅。
android - Android 是否支持 setjmp/longjmp、access、chdir、getcwd?
我对 Android 开发很陌生,我想知道 Android 是否支持上述 C 语言中的功能。
提前致谢。
c - Supplying different library/function at link time
If I want to clone a library and change just one function, say memcpy or memmove, and have an already built executable link to it for debugging/exploration purposes, what is the proper way to do this?
I am guessing I need to recompile the entire library with my modifications, but is there another way to do this?
I understand that there are things like malloc hooks but this seems to be a special case for malloc.
I am curious about the specifics for how valgrind and gdb do this from within another program, if someone has a resource on that.
I am interested in mac and linux solutions. On linux I've used LD_LIBRARY_PATH before - is this all that I need to do besides have the library names the same? How would I do this on mac?
For those curious as to why I want to do this, the purpose is for experimental music. I am doing this to sonify memory operations, so memcpy/memmove will work as normal but the data accessed will also be sent to the sound card. I know there are other ways of doing this (I have done a few other methods already,) but currently I am interested in focusing on memcpy/memmove, so I will appreciate it if you can restrict your answers to this focus.
c++ - 带有自定义 argc 和 argv 的 getopt_long() 函数
我在使用带有自定义 argc 和 argv 的 getopt_long() 函数时遇到问题。
我以字符串而不是真正的命令行参数接收我的参数。然后从这个字符串构建一个 new_argc 和 new_argv 以与 getopt_long() 一起使用。但是 getopt_long() 在第一次调用本身时失败。返回 EOF 和 optarg = NULL。
如果我通过命令行参数,getopt_long 对我来说可以。所以我的短期和长期选择是正确的。但是如果我通过 new_argc 和 new_argv 它会失败。
我确信我的短期和长期选择是正确的,并且 argv 是 NULL 终止的。我很抱歉我不能在这里发布更多代码。
我怀疑 getopt_long 是否可以与自定义 argc 和 argv 一起使用。我怀疑它只适用于真正的 argc 和 argv,因为它必须引用 libc 中与 argc、argv 相关的一些其他代码。任何意见?
c - vsnprintf 可以返回大于 1 的负值吗?
可以vsnprintf()
返回幅度大于 1 的负值吗?如果是这样,它在什么情况下这样做?
我尝试将其%ls
用作 char 数组的格式说明符,并尝试复制比分配的数组更大的内容。在这两种情况下,我都得到 -1 作为返回值。
c - C中是否有一个函数可以检查字符是字符还是整数等?
我有一个作业,我的教授说有些学生发现他们可以使用函数检查他们读入的字符是否是特定的字符。他说它在 string.h 库中,但我检查并没有看到它。谁能指出我正确的方向?
c++ - 用于编码和解码 websocket 帧的 C 或 C++ 库
我有自己的套接字实现,支持来自常规 tcp 客户端的连接。现在我想在我的服务器程序中添加 websocket 支持。在这种情况下,我将需要支持主要 Web 浏览器支持的握手和消息框架协议。我能够处理握手部分,但被困在处理消息的框架和取消框架中。是否有任何现有的 C 或 C++ 库来处理 websocket 消息帧的编码和解码,并支持主要 web 浏览器使用的主要 websocket 协议?
我发现的大多数当前实现(即 libwebsocket、websocketpp 等)都实现了自己的服务器和客户端库,这意味着我需要使用他们的套接字实现。我不想这样做,因为这将需要我在当前程序中修改很多东西,而且这不是我的选择。我需要的只是一个简单的库来处理 websocket 帧的编码和解码(和/或还处理握手部分,但这不是强制性的)。
objective-c - 使用 C 将文件加载到 NSData
问题是将图像文件加载到 UIImage。原始文件在文件系统中兑现并由C 库管理(关于它的问题)。
使用objective-C,我可以这样做:
但是如何使用 C 将文件数据加载到 Objective-C 中呢?
使用 CI 可以像这样打开文件:
但是我可以使用ret ptr 来初始化 NSData:
非常感谢您的帮助!
python - 如何使用 C 库刷新 Python 程序中的内存?
Python 程序的功能是通过网络摄像头找到最亮的光线并将 X、Y 坐标发送到 arduino 程序。这是用相机跟随太阳。
问题是内存会增加,直到程序冻结。我试图在使用后删除所有变量。但它仍然使用太多内存。
操作系统:Windows 7
我怎样才能找到泄漏并阻止它?
这是python代码:
c++ - 加载共享库时出错:libgomp.so.1: ,错误的 GCC 版本?
在执行第 3 方 c++ 程序时,出现以下错误:
加载共享库时出错:libgomp.so.1:无法打开共享对象文件:没有这样的文件或目录
libgomp.so.1 库是 GNU 编译器集合 OpenMP 运行时库。
这是 GCC 包的一部分吗?我可以在带有 gcc-4.5 的系统上运行该程序,但不能在带有 gcc-4.3 或 gcc-4.6 的系统上运行。
还是我需要安装另一个包?
我尝试通过下载库并将其放在 LD_LIBRARY_PATH 上使用 gcc-4.3 在系统上手动修复此问题,但后来我得到另一个丢失的库:/usr/lib/libstdc++.so.6: 版本 `GLIBCXX_3.4.11' 不是成立 。libstdc 是 GNU 标准 C++ 库,所以这也表明 GCC 版本错误?
我不是 C++ 开发人员,所以我不完全了解这些库是什么以及库通常如何与 C++ 代码一起工作。
操作系统是 linux 64 位。
gcc-4.3 机器:openSUSE 11.1
gcc-4.5 机器:openSUSE 11.4(在这台机器上程序工作)
gcc-4.6 机器:openSUSE 12.1