所以我想创建自己的make文件来交叉编译代码.我从带有通配符的文件夹中获取C文件,但是当我在csources文件夹中有多个C文件时,它不会创建目标文件. # Macros linux_compiler = gcc win…
标签:c-3
如何在VS 2015中启动C项目
我有Visual Studio 2015,我想知道它是否支持C. 我按“新项目”,选项是Visual C#,Visual C,Visual Basic. 我想知道我是否可以编译C程序或在VS中执行一个.它有C编译器吗? …
当磁盘已满时,可靠地计算由fwrite写入的字节数
有没有人知道一种可靠的方法来计算实际有多少字节 在磁盘已满的情况下使用C标准I / O(fwrite)编写了吗? 我在使这个工作上遇到了很多麻烦.问题似乎是fwrite是缓冲的,它有时会认为它已经写好了比设备实际可以接受…
如何使用gdb stacktrace和运行时生成的机器代码?
我为GNU / Linux继承了一些聪明的x64机器代码,它为c函数调用创建了一个机器代码包装器.我想在更高级的语言中,代码可能被称为装饰器或闭包.代码运行良好,但是有了不幸的假象,当调用包装器时,它会吞噬gdb中的堆栈…
如何在迷宫中打印从源到目标的BFS路径
我正在尝试实现BFS,以便找到迷宫中从源到目标的最短路径. 我遇到的问题是我无法打印路径,它在迷宫中打印了’*’,但是如何在不打印所有被访问节点的情况下从BFS的前辈中提取路径? 这是我编译的代码: #include &…
Lex:C关键字规则无法正确识别
我写了一个简单的lex文件来识别C关键字.我的规则如下: keyword do|while|char|if %% {keyword} { printf("Keyword %s found.", yytext); } 问题…
linux用户级别(pthread)线程是否在多个核心上运行?
我知道有: 1)用户级线程 – 在进程的相同地址空间内但具有不同的堆栈. 2)内核级线程 – 内核内存堆栈(我猜这里). 所以当我创建用户级线程时,内核不知道它们是 [1].那么内核如何知道如何在不同的内核中调度不同的用…
如何使用相同的函数初始化类似的结构?
我有一些以void *缓冲区开头的结构,下一个成员可以是不同的类型: struct A { void *buffer; type_x *x; type_y *y; }; struct B { void *buffer; …
静态变量的初始化
static int i = 5; static int j = i; int main() { return 0; } 我正在通过在此之前声明的另一个静态变量初始化静态变量,但我也变量.请告诉我为什么这是错误的. 最佳…
在VGA模式下绘制字符
我正在开发一种功能,可以在视频模式下为256 VGA模式绘制字符. 我使用的是6×7字体,其中只包含大写字母,数字和符号.这是数据: uint8_t characters[455] = { 0x00,0x00,0x00,…
使用GCC编译C项目时采用了哪些默认库
我有简单的应用: #include <stdio.h> int main( int argc, char ** argv ) { printf( "hello"); exit( 0 ); } 当我用命令编译它…
AES_cbc_encrypt中的Segfault
我正在尝试更详细地了解OpenSSL库.因此,我一直在尝试使用AES_ *函数,而不是使用更高级别的EVP函数.按照 this question中的一般调用(虽然我使用的是CBC而不是计数器模式),我想出了这段代码: v…