标签: c

如何在C中将int转换为字符串?

如何将int(整数)转换为字符串?我正在尝试创建一个函数,将a的数据struct转换为字符串以将其保存在文件中.

c string integer

191
推荐指数
8
解决办法
60万
查看次数

究竟什么是折返函数?

大多数 时代,再进入的定义转引自维基百科:

如果计算机程序或例程在其先前的调用完成之前可以被安全地再次调用(即可以同时安全地执行),则将其描述为可重入的 .可重入,计算机程序或例程:

  1. 必须不保留静态(或全局)非常量数据.
  2. 不得将地址返回到静态(或全局)非常量数据.
  3. 必须仅对调用者提供给它的数据有效.
  4. 不能依赖于锁定单例资源.
  5. 不得修改自己的代码(除非在自己独特的线程存储中执行)
  6. 不得调用不可重入的计算机程序或例程.

如何安全地定义?

如果一个程序可以安全地同时执行,它是否总是意味着它是可重入的?

在检查我的代码是否具有重入功能时,我应该记住的六点之间的共同点是什么?

也,

  1. 所有递归函数都是可重入的吗?
  2. 所有线程安全功能都是可重入的吗?
  3. 所有递归和线程安全函数都是可重入的吗?

在写这个问题的时候,有一件事情浮现在脑海中:像重入线程安全这样的术语是否完全绝对,即他们是否有固定的具体定义?因为,如果他们不是,这个问题不是很有意义.

c c++ recursion thread-safety reentrancy

190
推荐指数
4
解决办法
7万
查看次数

单引号与C或C++中的双引号

我应该何时在C或C++编程中使用单引号和双引号?

c c++ syntax char string-literals

190
推荐指数
10
解决办法
13万
查看次数

结构填料和包装

考虑:

struct mystruct_A
{
   char a;
   int b;
   char c;
} x;

struct mystruct_B
{
   int b;
   char a;
} y;
Run Code Online (Sandbox Code Playgroud)

结构的尺寸分别为12和8.

这些结构是填充还是包装?

什么时候进行填充或包装?

c struct structure packing padding

189
推荐指数
6
解决办法
25万
查看次数

main()中的return语句vs exit()

我应该使用exit()还是只是return声明main()?我个人赞成这些return陈述,因为我觉得这就像在阅读代码时读取任何其他功能和流量控制一样顺畅(在我看来).即使我想重构main()函数,return看起来似乎是一个更好的选择exit().

做一些exit()不特别的事return吗?

c c++ coding-style return exit

188
推荐指数
6
解决办法
7万
查看次数

什么是time_t typedef到底是什么?

我在linux框中搜索并看到它是typedef

typedef __time_t time_t;
Run Code Online (Sandbox Code Playgroud)

但找不到__time_t定义.

c linux types

188
推荐指数
6
解决办法
27万
查看次数

Objective-C:BOOL vs bool

我看到了"新型" BOOL(YES,NO).

我读到这种类型几乎就像一个字母.

为了测试,我做了:

NSLog(@"Size of BOOL %d", sizeof(BOOL));
NSLog(@"Size of bool %d", sizeof(bool));
Run Code Online (Sandbox Code Playgroud)

很高兴看到两个日志显示"1"(有时在C++中bool是一个int,其sizeof是4)

所以我只是想知道bool类型是否存在某些问题?

我可以在不失速度的情况下使用bool(看似有效)吗?

c types boolean objective-c

188
推荐指数
5
解决办法
18万
查看次数

'for'循环内的后递增和预递增产生相同的输出

以下for循环产生相同的结果,即使一个使用后增量和另一个预增量.

这是代码:

for(i=0; i<5; i++) {
    printf("%d", i);
}

for(i=0; i<5; ++i) {
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

我为两个'for'循环得到了相同的输出.我错过了什么吗?

c c++ for-loop operator-precedence

188
推荐指数
6
解决办法
18万
查看次数

通过SSH使用Eclipse处理远程项目

我有以下方框:

  1. 带有Eclipse CDT的Windows框,
  2. 一个Linux机器,只能通过SSH访问我.

构建和运行我的项目所需的编译器和硬件都只在机器B上.

我想使用Eclipse CDT从该项目的Windows框中"透明地"工作,并能够在IDE中远程构建,运行和调试项目.

我如何设置:

  • 大楼会起作用吗?任何比编写本地makefile更简单的解决方案rsync,然后调用远程makefile来启动实际构建?Eclipse托管构建是否具有此功能?
  • 调试会有效吗?
  • 最好 - Eclipse CDT代码索引可以工作吗?我是否必须将所有必需的头文件从机器B复制到机器A并将它们手动添加到包含路径?

c eclipse ssh remote-debugging eclipse-cdt

186
推荐指数
4
解决办法
17万
查看次数

fork()分支超过预期?

考虑以下代码:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
    int i;
    for(i = 0; i < 2; i++)
    {
        fork();
        printf(".");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序输出8个点.怎么可能呢?不应该有6个点吗?

c c++ fork

186
推荐指数
2
解决办法
7467
查看次数