标签: c

C中用于比特反转的最有效算法(从MSB-> LSB到LSB-> MSB)

实现以下目标的最佳算法是什么:

0010 0000 => 0000 0100

转换从MSB-> LSB到LSB-> MSB.所有位必须反转; 也就是说,这不是字节顺序交换.

c algorithm bit-manipulation

232
推荐指数
11
解决办法
22万
查看次数

'switch'比'if'快吗?

是一种switch说法实际上比更快的if声明?

我使用/Ox标志在Visual Studio 2010的x64 C++编译器上运行下面的代码:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define MAX_COUNT (1 << 29)
size_t counter = 0;

size_t testSwitch()
{
    clock_t start = clock();
    size_t i;
    for (i = 0; i < MAX_COUNT; i++)
    {
        switch (counter % 4 + 1)
        {
            case 1: counter += 4; break;
            case 2: counter += 3; break;
            case 3: counter += 2; break;
            case 4: counter += 1; break;
        }
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c performance assembly switch-statement jump-table

232
推荐指数
7
解决办法
5万
查看次数

如何将#ifdef与OR条件一起使用?

很抱歉提出非常基本的问题.我想在#ifdef指令中设置OR条件.怎么做 ?我试过了

#ifdef LINUX | ANDROID
...
..
#endif 
Run Code Online (Sandbox Code Playgroud)

那没起效?什么是正确的方法?

c macros

231
推荐指数
2
解决办法
11万
查看次数

使用一个默认值初始化普通数组

C++注意事项:数组初始化有一个很好的列表初始化列表.我有一个

int array[100] = {-1};
Run Code Online (Sandbox Code Playgroud)

期望它充满-1,但它不是,只有第一个值,其余的是0与随机值混合.

代码

int array[100] = {0};
Run Code Online (Sandbox Code Playgroud)

工作正常,并将每个元素设置为0.

我在这里想念的是什么..如果值不为零,不能初始化它吗?

2:默认初始化(如上所述)是否比通过整个数组的通常循环更快并分配一个值还是做同样的事情?

c c++ arrays initialization default-value

230
推荐指数
9
解决办法
40万
查看次数

尖括号<>和双引号""之间的区别,同时在C++中包含头文件?

可能重复:
#include <filename>和#include"filename"有什么区别?

在C++中包含头文件时,尖括号< >和双引号有什么区别" "

我的意思是应该使用例如包含#include <QPushButton>哪些文件:以及使用例如包括哪些文件:#include "MyFile.h"???

c c++ c++11

230
推荐指数
2
解决办法
13万
查看次数

内存泄漏是否正常?

在C或C++应用程序中发生内存泄漏是否可以接受?

如果您分配一些内存并使用它直到应用程序中最后一行代码(例如,全局对象的析构函数),该怎么办?只要内存消耗不会随着时间的推移而增长,当您的应用程序终止时(在Windows,Mac和Linux上),是否可以信任操作系统为您释放内存?如果内存被连续使用直到它被操作系统释放,你甚至会认为这是一个真正的内存泄漏.

如果第三方图书馆强迫你这样做怎么办?拒绝使用第三方图书馆,无论它有多么伟大?

我只看到一个实际的缺点,那就是这些良性泄漏会将内存泄漏检测工具显示为误报.

c c++ memory-leaks

229
推荐指数
17
解决办法
3万
查看次数

如何在C中正确使用extern关键字

我的问题是关于何时应该用externC中的关键字引用函数.

我没有看到何时应该在实践中使用它.在我编写程序时,我使用的所有函数都通过我包含的头文件提供.那么为什么extern访问头文件中没有公开的东西会有用呢?

我可能会想到如何extern正确地工作,如果是这样,请纠正我.

编辑:如果extern是头文件中没有关键字的默认声明,你应该做些什么吗?

c

227
推荐指数
7
解决办法
23万
查看次数

pty和tty是什么意思?

我注意到有很多提到的ptytty一些开源项目,可能有人能告诉我它们意味着什么以及它们之间有什么区别呢?谢谢!

c unix networking vocabulary tty

226
推荐指数
5
解决办法
12万
查看次数

检测到堆栈粉碎

我正在执行我的a.out文件.执行后程序运行一段时间然后退出并显示以下消息:

**** stack smashing detected ***: ./a.out terminated*
*======= Backtrace: =========*
*/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)Aborted*
Run Code Online (Sandbox Code Playgroud)

可能的原因是什么?如何纠正?

c stack exception

225
推荐指数
5
解决办法
37万
查看次数

理解C中函数指针的typedef

当我读到其他人的代码时,我总是有点难过,这些代码的typedef用于指向带参数的函数的指针.我记得在尝试理解用C语言编写的数值算法时,我花了一些时间来解决这个定义.那么,您是否可以分享您关于如何编写好的typedef指向函数(Do和Do)的提示和想法,为什么它们有用以及如何理解其他人的工作?谢谢!

c typedef function-pointers

225
推荐指数
6
解决办法
26万
查看次数