c有关的问题


对 “sin” 的未定义引用

我有以下代码 (剥离到这个问题的基本知识):
# Include <stdio.h>
# Include <math.h>
双f1 (双x)
{
Double res = sin(x);
返回 0;
}
/*


必要的C编译器标志来检查MacOS (新旧) 是否符合IEEE-754

似乎 _ _ STDC_IEC_559 _ _ 不足以测试苹果生态系统中的IEEE-754 合规性,这引出了我的问题:
哪些MacOS确实支持IEEE-754 完整的或至少部分w.


如何找到一个数字在数组中重复了多少次?

我很困惑如何找出一个数字在用户输入中重复了多少次。我能够输入数字,看看哪些数字是重复的,但我不确定如何打印出每个输入。


在C中,我是否需要在释放结构时手动释放结构中的指针?

我正在学习C中的内存管理。
我有一个指向我malloc大小为via的结构的指针
Some_struct * mystruct = malloc(sizeof(some_struct));
我后来在那个结构上使用free。
我.


C运行时库第 2 部分

当我对我的旧问题有一些进一步的问题时,有人建议我创建新问题并参考旧问题。所以,这是原来的问题: 什么是C运行时库?
好的,从你的


C代码不输出正确的数字长int

我试图用下面的代码获得长int的大小限制:
Int main()
{
Long long int from,to;
Printf ("signed long int: ");
Bytes = sizeof(long long int);
比特.


为什么信号处理程序去无限循环?-SIGSEGV

知道为什么信号处理程序去无限循环吗?
这是代码。
请帮助我。
在此输入代码
9 void SIGSEGV_handler(int signal)
10 {
11 printf("分段故障捕获.\ n");
12


如何在Ubuntu中生成核心转储文件

我想知道如何在Ubuntu中生成核心转储文件。我正在使用Ubuntu 8.04.1 和gcc编译器 4.2.3。我写了一个简单的C程序来生成一个核心转储。我已经编译了程序.


Movsd从内存到xmm0 在c x86-64 jit

我正在尝试写一个小x86-64 JIT,我在一些地方有点过头了。
我试图JIT一个简单的函数,将float的值分配到xmm0 寄存器,然后ret.


8051 16 位加法/乘法结果 16 位而不是 32 位

我有个问题。在此程序中,变量x应设置为 0x10000,但在这两个操作中,结果均为 0。
这不是主程序,而是查找错误原因的测试。我是


实模式内核的 16 位C代码

我不知道如何编译我的C内核为 16 位实模式。我已经尝试了各种编译器没有运气。我的引导加载程序只是从软盘加载原始扇区 (我的内核在


如何检索CreateFile结果的文件 *?

请参见标题。
我如何实现这个问题的对立面: 如何从fopen文件结构中获取文件句柄?
我用创建句柄
句柄h = CreateFile (名称,
……


地址和推送指令前的星号,它被推送到哪里?

我正在处理一个任务,我需要理解使用GDB编译的C程序。我试图按照说明去做,但是很难准确理解jmp命令是什么.


如何保护isr和常规函数共享的全局变量?

假设我有函数 1 和isr例程,两者共享和更新同一个标志,之间没有任何锁定。系统是单线程的。
While将是一个 3 臂装配说明,w.


如何在C中传递参数,以便可以更改值?

C传递值而不是参数-这就是我被告知的,但我如何解决这个问题?我只是不明白。
# Include <stdio.h>
/* 这将不起作用 */
Void go_south_east(int lat,int lon) {
……


Free () 函数如何收集有关要释放的字节数的信息

可能重复:
C编程: free怎么知道要free多少?
调用free() 是为了释放malloc() 函数调用分配的内存。Free () 从哪里找到


对sqrt (或其他数学函数) 的未定义引用

我有这个简单的代码:
Max = (int) sqrt (number);
在标题我有:
# Include <math.h>
但应用程序仍然说未定义的参考sqrt。你看到这里有什么问题吗?看起来


便携式一致浮动

与这个问题类似,我正在制作一个锁步P2P虚拟世界,我遇到了使用固定点而不是浮动的松弛。
我试图做一个便携式浮动的基准,但发现GCC.


使用OpenMP按列和按行将矩阵乘以向量

对于我的一些作业,我需要实现一个向量的矩阵乘法,按行和按列进行并行化。我确实理解行版本,但是我在


什么是编译器在铸造整数常量?

使用以下宏:
# Define MIN_SWORD (signed int) 0x8000
例如,以下表达式:
签署长s32;
If (s32 < (signed long)MIN_SWORD).
预计要做以下检查.


GetCommandLine和CommandLineToArgv的Linux等效?

我想知道是否有一些API来获取Linux上的当前进程的命令行参数。
我想我非常不清楚。这个问题的真正目的是传递unicode文件名.


在没有任何temp变量的O(n) 中排序

我需要设计一个算法,它将排序包含数字的数组-1,0,1 只,不使用任何temp变量或数组,只使用交换,我想出了以下冰毒.


Char * val和char * val有什么区别?

Char * val和char * val有什么区别。我知道什么是指针,但在任何地方都找不到这个三星符号的意思。


访问C文件中的程序集宏函数/指令

我想知道汇编指令是否喜欢。指令或宏 (如 % macro my_macro) 可以在另一个C文件中访问
文件: macroasm.S
% 宏my_macro 1
Mov rsp,1
% Endmacro
有没有poss.


地址 0x0 中的 0xdeadbeef是什么意思?

我刚刚在代码中看到以下行:
# Define ERR_FATAL( str,a,b,c ) {while(1) {*(unsigned int *)0 = 0xdeadbeef;} }
我知道 0xdeadbeef意味着错误,但是把这个值放进去意味着什么.


为什么这个pthreads代码在OS X上一致segfault而在Linux上不一致?

我有一个任务调度代码,我想与基本上为每个任务创建一个新的pthread的基线进行比较 (我知道这不是一个好主意,但这就是为什么这只是


Cast T[] to T *

将T类型的 2D数组强制转换为T * 并取消引用元素是否安全?
由于 2D数组的内存布局是线性的,基指针应该等于指向第一个元素的指针。自从


C中指针的值

我已经开始学习C (所以,你知道..指针)。
我有这个代码:
# Include <stdio.h>
# Include <string.h>
Int main (int argc,char * argv[])
{
Char c = 'c';
Char * cptr = &.


十进制表示法的Printf指针

如何以十进制表示法打印指针?
使用-Wall编译时,以下任何一项都不会产生所需的结果。我理解这些错误,并且确实想用-Wall编译。但那我怎么能


C: struct中关于二维数组的初学者问题

我想创建一个包含C中的二维数组的结构,但是我不知道如何初始化它,因为我不知道维度。有办法吗?
Struct myStruct {
……


为什么我不能在 # if中使用sizeof()?

我有这个:
# If sizeof(int)
# 错误不能在 # if中使用sizeof
# Endif
我得到这个编译器错误:
令牌 “(” 之前缺少二进制运算符
为什么我不能在这里使用sizeof运算符?


字面和常数在C中是相同的概念吗?

字面和常数在C中是相同的概念吗?
它们之间在用法上有什么区别吗?


如何在c中打印无符号int *?

我试图在C中打印一个无符号int *。我用了 % X但编译器说:
"格式 % x需要类型为unsigned int的参数,但参数 3 具有类型为unsigned int *"。
我也使用了 “% u”,但我得到了


“Char *” 具有不寻常的内存字大小 (Knuth的混合架构)

最初的MIX体系结构具有 6 位字节,内存被寻址为 31 位字 (5 个字节和一个符号位)。作为一个思想练习,我想知道如何C语言可以在这个功能。


实现不同大小结构的基于阵列的内存池

我正在研究一个并发数据结构,它使用了许多小尺寸的临时对象。许多这些对象的大小相同。所以为了减轻内存分配器的压力,我一直


从main.c中进行单个定义,以便在编译时为库提供

假设我有一个main.c文件
# Include "library.h"
# Define LIBRARY_VALUE 5
Int main(void)
{
Somefunction1 ();
返回 0;
}
Library.h
Void somefunction1(void);
库.c
# Include "librar.


仅使用 “~ & ^ | << >> =” 运算符和 20 个操作实现逻辑右移

所以我有一个任务,我必须在c中编写一个函数,它只使用 ~,&,^,|,<<,>> 和 = 的按位运算。我只需要使用 20 个操作。而我不是al.


如何协调两个进程之间的共享内存

我有程序A和程序B。程序A创建一个队列,该队列存储在与shmget共享的内存中,然后存储在shmat中。进程B启动,然后使用相同的shmid获取proce.


在C中使用strtok时出现访问冲突 (使用Visual Studio 2019)

嗨,StackOverflow社区,我在非常需要的时候来找你。
我的问题涉及在C中使用strtok(),使用 “Visual Studio” IDE (2019)
这里是我的代码:
# Include <stdio.h>
#


如何使用gcc与fsanitize = 地址?

我正在尝试学习如何使用-fsanitize = address -fno-pure-frame-pointer来检测内存泄漏。我写了一些简单的东西,显然有一个内存泄漏,但编译与gcc -fsanitize = a.


通过未分配的指针定向时违反分段

我尝试了一些东西,但结果主要不知道如何一行一行地读取文件来比较它们之间的行,我得到了错误分段错误 (核心转储)。
这是我对uniq -u通信的功能.


Main () 和int main() 之间有什么区别?

我熟悉int main () 和void main (),但我看到我们在uni的教授使用main () -只是main (),没有别的-在他的代码中,它到底是做什么的?我读到它在新的C上不起作用


分段故障处理

我有一个应用程序,我用它来捕捉任何分段错误或ctrl-c。
使用下面的代码,我能够捕捉分段错误,但是处理程序被一次又一次地调用。怎么ca.


如何在C中从UTC转换为本地时间?

这是一个简单的问题,但解决方案似乎远非简单。我想知道如何从UTC转换为本地时间。我正在寻找C + + 的标准和或多或少的解决方案。


堆栈内存有限制吗?

我正在浏览其中一条线索。
一个程序崩溃是因为
它在函数内部本地声明了一个 10 ^ 6 数组。
给出的原因是堆栈上的内存分配失败导致cra.


Glibc函数strtoull() 失败

我面临的问题与c库函数strtoull,这是返回我错误的输出。
Int main(int argc,char * argv[])
{
Unsigned long long int intValue;
If (atoi(argv[2]) = = 1)
……


数组对象的最后一个元素的基本原理是什么?

根据N1570 (C11 草案) 6.5.6/8 添加剂运算符:
此外,如果表达式P指向数组的最后一个元素
对象,表达式 (P) 1 点超过最后一个元素的.


如何修改char * 的值?

嗨,我有下面的程序。
Char * x = "abc";
* X = 48;
Printf ("% c",* x);
这给了我输出a,但我期望输出为 0。
编辑
你能建议我可以做什么,以便在运行时存储数据在
……


用C # 中的最短字符数重复和打印一个字符

目前,我试图在尽可能少的字符中重复一个字符。作为一个例子,我实际上正在使用类似这样的东西来重复一系列的空间:
Printf ("% * s",我.


使用的是没有所有成员分配未定义的结构?

在块范围内考虑此代码:
Struct foo { unsigned char a; unsigned char b; } x,y;
X.a = 0;
Y = x;
C [N1570] 6.3.2.1 2 表示 “如果左值指定了一个自动存储持续时间的对象.


上一页 下一页