8得票4回答
使用openssl库在C语言中进行简单的AES加密解密

我想加密一个包含几个字符串的结构体,然后再解密它。我尝试了下面的代码。原始代码是从网络上找到的,一直运行得很好。我将其输入更改为结构体。以下是代码。 #include <stdio.h> #include <stdlib.h> #include <string....

8得票3回答
跨编译的 C Windows libcurl 在 Ubuntu 上链接不正确。

我目前正在尝试在Ubuntu 64x 14.04上为Windows 32x交叉编译C语言的libcurl。经过一番研究,我按照以下步骤进行操作: 1)从https://curl.haxx.se/download.html下载库。 2)进入提取的libcurl文件夹并执行: ./confi...

11得票4回答
在C语言中,代码是否有保证可以避免未定义行为?

在以下代码中,“0\n”是否被保证会被打印出来?#include <stdio.h> int main(void) { int c = 0; printf("%d\n",c); printf("%d,%d\n",++c,++c); } 更广义地说,如果程序...

13得票4回答
GCC如何展开循环,如果它的迭代次数在编译时是未知的?

我正在阅读GCC的优化选项时,发现了选项-funroll-all-loops。 它的描述如下: 展开所有循环,即使它们进入循环时迭代次数不确定。这通常会使程序运行更慢。 '-funroll-all-loops'意味着与'-funroll-loops'相同的选项 如果编译器无法...

23得票5回答
在C语言中声明和定义的区别

来自外部变量维基页面: 如果声明中既没有extern关键字也没有初始化值,那么语句可以是声明或定义。由编译器分析程序模块并决定。 我无法完全理解这个语句在C语言中的含义。例如,它是否意味着:int i; 这不一定是一个声明(我之前一直以为是声明),也可能是一个定义(根据同一网页上"...

9得票2回答
无符号字符是否总是提升为 int?

假设以下情况: unsigned char foo = 3; unsigned char bar = 5; unsigned int shmoo = foo + bar; 在表达式foo + bar的求值过程中,foo和bar的值是否保证会提升为int类型的值,还是实现可以将它们提升为...

7得票4回答
如何在Unix中监视访问特定文件的进程?

我有一个文件,许多进程(以及进程线程)正在访问它。 我想监视该文件以获取所有尝试访问该文件的进程列表。记录时间戳也可以用于日志记录目的,尽管没有时间戳也可以。 是否有类似的Unix实用程序? 如果没有这样的实用程序,我应该如何使用脚本(shell、Perl)或程序(C、C++)编写此程序...

11得票2回答
错误:在“/”标记之前预期表达式

我不是C语言专家,在尝试交叉编译一个C应用程序时遇到了这个错误:src/ls_sqlite3.c:522: error: expected expression before '/' token 有问题的那一行是:sqlite3_busy_timeout(conn, lua_tonumber(...

7得票6回答
如何在Windows上从Visual Studio切换到Emacs?

我不想学习只适用于一个平台的IDE或类似软件。我想花时间和精力学习一些具有永恒真理的东西。 我想转向一种编辑器宗教,它没有宗教信仰,只关注开发和进步,平等对待所有人。 是的,请提供一些关于如何在Windows上切换到Emacs的指南,例如编译器设置、源设置、TFS绑定等所有我不知道的事情。...

7得票1回答
嵌入Python

我正在尝试从C代码中调用Python函数,我遵循了这里的示例。我还有正确的包含文件目录、库目录,并链接了python32.lib(我使用的是Python 32),但错误是Python/C API,如PyString_FromString、PyInt_FromLong、PyInt_AsLong未...