小编Bru*_*uce的帖子

如何从C程序获取NIC详细信息?

我想获得连接到我的计算机的所有NIC的以下详细信息:

1)接口名称(例如eth0)

2)接口号(如在Windows中)如果在Linux中存在这样的东西

3)NIC带宽容量和模式(例如1Gb/s全双工)

c linux

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

如何查找我的操作系统是在虚拟化还是非虚拟化环境中运行?

我可以访问我可以使用的机器.如何确定我的操作系统是在完全虚拟化(VMM进行二进制转换),半虚拟化还是非虚拟化环境中运行?我知道如何去做(一些操作,如访问内存页面/磁盘在虚拟化环境中需要更长的时间),但不知道如何继续.

linux virtualization virtual-machine paravirtualization

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

Windbg:创建函数入口和出口的日志

我希望为我的代码创建函数入口和退出的日志.我在WinDbg-函数名称和返回值中使用以下命令

bm <module_name>!* "kcL1;.echotime;gu;r eax;.echotime;gc;"
Run Code Online (Sandbox Code Playgroud)

现在我希望为函数的所有模块执行此操作,但我不想再为每个模块编写代码.有没有办法指定bm从我使用"lm"创建的文件中读取模块名称,并为每个模块设置断点或更简单.

另外,如何指定bm不在屏幕上打印输出?我正在使用日志文件.

有时我看不到退出电话的时间.这可能是什么原因?我该如何纠正?

windbg

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

帮助Unix中的文件描述符

每个进程都有一个文件描述符表(FDT),每个文件都有一个文件描述符.stdin,stdout和stderr的文件描述符是0,1和2.这些值对于所有进程都是相同的.我认为FDT包含对这些文件的INODE条目的引用.文件描述符跨进程重用,即它们不是全局唯一的.是否存在由内核维护的全局FDT,每个进程的FDT引用?对stdin,stdout和stderr的FDT对应的是什么?这些特殊文件是否与键盘,显示器等相关联.请提供文章,书籍等的链接.

unix linux

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

Malloc标题内容

因此在大多数实现中,malloc在分配的内存之前存储一个标头,以跟踪分配的内存大小(以便它可以执行free和recalloc).标题内容是什么?

我写了一个天真的代码来找到它,但它没有任何意义

int * ptr;
ptr = malloc(12*sizeof(int));
printf("Header = %d\n",*(ptr-1));
Run Code Online (Sandbox Code Playgroud)

它回来了

Header = 57
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

c malloc

6
推荐指数
2
解决办法
7688
查看次数

拥有.bss部分有什么好处?

有2个部分的好处是什么 - .data和.bss用于进程范围变量.为什么不只有一个?我知道每个部分用于什么.我正在使用gcc.

c

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

如何在列表中查找所有可能的元素序列?

我有一个清单[2,3,4].如何在列表中找到所有可能的元素序列?所以输出应该是:[2,3,4] [2,4,3] [3,2,4] [3,4,2] [4,2,3] [4,3,2]

python

6
推荐指数
2
解决办法
310
查看次数

如何将uint32_t转换为struct in_addr?

#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main()
{
uint32_t ip = 0;
printf("%s\n",inet_ntoa(*(struct in_addr *)ip));
return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不想通过声明任何临时变量来做到这一点.该程序给出了分段错误.

struct in_addr {
    uint32_t s_addr; 
};
Run Code Online (Sandbox Code Playgroud)

c

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

使用带有宏的逻辑运算符

如果定义了两个宏中的任何一个,我想要包含一段代码

#ifdef MACRO1 || MACRO2

void foo()
{


}

#endif
Run Code Online (Sandbox Code Playgroud)

我如何在C中完成此操作?

c macros conditional-compilation

6
推荐指数
3
解决办法
5119
查看次数

ns_initparse 的链接器错误

这里的代码

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <resolv.h>

int main (int argc, char *argv[])
{
    u_char nsbuf[4096];
    char dispbuf[4096];
    ns_msg msg;
    ns_rr rr;
    int i, j, l;

    if (argc < 2) {
        printf ("Usage: %s <domain>[...]\n", argv[0]);
        exit (1);
    }

    for (i = 1; i < argc; i++) {
        l = res_query (argv[i], ns_c_any, ns_t_mx, nsbuf, sizeof (nsbuf));
        if (l < 0) {
            perror (argv[i]);
        } else {
#ifdef USE_PQUERY

/* this will give lots of detailed …
Run Code Online (Sandbox Code Playgroud)

c linker gcc

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