小编bep*_*ras的帖子

.o和.ko文件之间的区别

我正在编写简单的Linux模块mod.c. 当我编译mod.c文件,它会创建两个输出文件mod.omod.ko.所以我只想知道,mod.o和mod.ko文件有什么区别?

linux-device-driver

49
推荐指数
2
解决办法
5万
查看次数

Sizeof vs Strlen

#include "stdio.h"
#include "string.h"

main()
{

    char string[] = "october"; // october is 7 letters

    strcpy(string, "september"); // september is 9 letters

    printf("the size of %s is %d and the length is %d\n\n", string, sizeof(string), strlen(string));

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

输出:

9月的大小是8,长度是9

我的语法有什么问题或者是什么?

c sizeof strlen

40
推荐指数
2
解决办法
5万
查看次数

Linux内核导出符号

我想检查Linux内核导出的符号列表.所以我解雇命令,

# cat /proc/kallsyms
0000000000000000 D per_cpu__irq_stack_union
0000000000000000 D __per_cpu_start
0000000000004000 D per_cpu__gdt_page
0000000000005000 d per_cpu__exception_stacks
000000000000b000 d per_cpu__idt_desc
000000000000b010 d per_cpu__xen_cr0_value
000000000000b018 D per_cpu__xen_vcpu
000000000000b020 D per_cpu__xen_vcpu_info
000000000000b060 d per_cpu__mc_buffer
000000000000c570 D per_cpu__xen_mc_irq_flags
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出.我的问题是,这个输出中每个字段的含义是什么?第一个字段看起来像地址,我没有获得第二个字段的任何引用.任何人都可以向我解释第二场中值D,d,t,T,s的含义吗?

linux linux-kernel

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

IVT和IDT有什么区别?

在Linux系统上,中断向量表(IVT)和中断描述符表(IDT)之间有什么区别?

x86 interrupt

7
推荐指数
2
解决办法
4839
查看次数

从QByteArray删除第一个字节

我想编写一个将QByteArray输入到该函数的函数。我想从接收数据中删除一些标头,并将其存储到全局QByteArray中。

void abc::CopyData(const QByteArray &data)
{
    switch(RequestPacketCount)
    {
        case REQUEST_FIRST_PACKET:
        {
            ByteArrayData = data;
        }
            break;
        case REQUEST_SECOND_PACKET:
        case REQUEST_THIRD_PACKET:
            ByteArrayData.append(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

我要删除“ n”号。从“数据”开始的字节数,并将剩余数据存储到“ ByteArrayData”

提前致谢。

qt qbytearray

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

QbyteArray数据副本

我有两个QByteArray,sData而且dData.

我要复制n从位置字节xdData,即&dData[x]以位置ysData&sData[y].

在C中,数组副本由.完成 memcpy(&dData[x], &sData[y], n);

如何复制以上数据QByteArray在Qt中完成?

qt qbytearray

5
推荐指数
2
解决办法
1万
查看次数

malloc可以在两个不同的进程中返回相同的地址吗?

假设我有两个过程a,并b在Linux上.在这两个过程中我malloc()用来分配一个内存,

有没有机会malloc()在两个进程中返回相同的起始地址?如果不是,那么谁来照顾这个.如果是,则两个进程都可以访问此地址的相同数据.

c linux malloc virtual-memory

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

Qt TCP/IP套接字连接检查

我正在编写Qt TCP/IP客户端.我想在将数据发送到服务器之前检查与服务器的连接状态.据我所知,我可以通过以下方法来做到这一点

  • 使用一个bool" ConnectionState ",设置在与服务器连接的这个变量和重置该变量断开()信号.现在,在将数据发送到服务器(client-> write())之前,请检查此变量的值.
  • 使用这个' client-> state()== QTcpSocket :: ConnectedState '的方式来检查连接状态.

哪个是好习惯.或任何其他方法.

提前致谢.

sockets qt tcp

4
推荐指数
1
解决办法
2万
查看次数

如何添加vim keymap

编程时,我经常使用以下两行:

sprintf(buff,"%s", __func__);

putrsUART(buff);
Run Code Online (Sandbox Code Playgroud)

是否可以设置任何键盘快捷键来插入这两行?例如,当我在命令模式下键入\ sp时,这些函数会添加到我文件中的光标位置.这可能吗?如果是这样,我如何映射我的密钥?

提前致谢.

vim keymapping

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