小编hap*_*ear的帖子

整数后缀J的含义是什么?

我有以下来源:

int main() { 000J; }
Run Code Online (Sandbox Code Playgroud)

使用gcc 4.8.4编译时没有错误.我知道有L或U这样的后缀,但我没有找到关于J.的任何内容.

那它是做什么的?

c c++ integer suffix

62
推荐指数
2
解决办法
3764
查看次数

vm.dirty_ratio和vm.dirty_background_ratio之间的区别?

我目前正在试验中发现的内核参数/proc/sys/vm,特别是dirty_ratiodirty_background_ratio.

内核doc对两者都有以下解释:

dirty_background_ratio

包含作为包含可用页面和可回收页面的总可用内存的百分比,后台内核刷新线程将开始写出脏数据的页面数.

dirty_ratio

包含作为包含空闲页面和可回收页面的总可用内存的百分比,生成磁盘写入的进程本身将开始写出脏数据的页面数.

我的linux系统dirty_background_ratio是10并且dirty_ratio是20.我明白不同之处在于脏数据写的是谁.因此,如果我的已用内存达到10%,则内核开始写回来,永远不会达到20%.

我现在的问题是:具有更高的价值dirty_background_ratiodirty_ratio任何意义,还是仅仅是"什么是较低的价值和谁拥有它"?

linux performance linux-kernel

18
推荐指数
3
解决办法
4万
查看次数

我应该在库调用中使用自己的typedef吗?

我目前正在Linux中进行一些网络编程,为此我为自己做了一些便携性的问题

typedef char int8;
typedef unsigned char uint8;

typedef short int16;
typedef unsigned short uint16;

typedef int int32;
typedef unsigned int uint32;
Run Code Online (Sandbox Code Playgroud)

现在我想要为常用的套接字函数编写一些包装函数.一个简短的例子是:

int32 rawSocketCreate(int* sockfd, int protocol) {

    *sockfd = socket(AF_PACKET, SOCK_RAW, htons(protocol));

    if (*sockfd == -1) {
        printf("Error creating raw socket\n");
        return -1;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我现在的问题是:对于我传递给库函数的参数,我应该继续使用标准数据类型还是使用我自己的?

rawSocketCreate(int* sockfd, int protocol)
/* OR */
rawSocketCreate(int32* sockfd, int32 protocol)
Run Code Online (Sandbox Code Playgroud)

c typedef function-calls

1
推荐指数
1
解决办法
122
查看次数

标签 统计

c ×2

c++ ×1

function-calls ×1

integer ×1

linux ×1

linux-kernel ×1

performance ×1

suffix ×1

typedef ×1