小编Pet*_*ter的帖子

Linux glib需要pkg-config和pkg-config需要glib吗?

我尝试安装udev.而udev在这期间给了我一个错误./configure

--exists: command not found configure: error:
pkg-config and "glib-2.0 >= 2.16" not found, please set GLIB_CFLAGS and GLIB_LIBS
to the correct values or pass --with-internal-glib to configure 
Run Code Online (Sandbox Code Playgroud)

好的,缺少pkg-config和glib-2.0.

起初我尝试安装pkg-config.我收到了这条消息:

checking whether to list both direct and indirect dependencies... no
checking for Win32... no
checking if internal glib should be used... no
checking for pkg-config... no
./configure: line 13557: --exists: command not found
configure: error: pkg-config and "glib-2.0 >= 2.16" not found,
please set GLIB_CFLAGS and GLIB_LIBS to the …
Run Code Online (Sandbox Code Playgroud)

linux pkg-config glib

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

如何检查字典中是否存在键值对?

是否有一种智能的pythonic方法来检查dict中是否有项目(键,值)?

a={'a':1,'b':2,'c':3}
b={'a':1}
c={'a':2}

b in a:
--> True
c in a:
--> False
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7

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

Linux驱动程序开发:PCI和PCIe驱动程序之间的区别?

我正在为Linux 2.6.36编写PCI驱动程序.

这是我的代码.我的问题是,如果我想将此驱动程序用于PCIe设备,是否需要进行一些修改?

#include <linux/fs.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <asm-generic/signal.h>
#undef debug


// ATTENTION copied from /uboot_for_mpc/arch/powerpc/include/asm/signal.h
// Maybe it don't work with that
//____________________________________________________________
#define SA_INTERRUPT    0x20000000 /* dummy -- ignored */
#define SA_SHIRQ        0x04000000
//____________________________________________________________

#define pci_module_init pci_register_driver // function is obsoleted

// Hardware specific part
#define MY_VENDOR_ID 0x5333
#define MY_DEVICE_ID 0x8e40
#define MAJOR_NR     240
#define DRIVER_NAME  "PCI-Driver"

static unsigned long ioport=0L, iolen=0L, memstart=0L, memlen=0L,flag0,flag1,flag2,temp=0L;

// private_data
struct _instance_data {

    int counter; // …
Run Code Online (Sandbox Code Playgroud)

c linux linux-device-driver

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

序列图部分的重用

我有多个单序列图。它们中的大多数具有相同的初始化和终止序列。

可以将其从一个文件复制到另一个文件,但如果可以在单个点声明该部分会更好。因此,如果发生更改,则无需更改所有图表。

有没有办法做到这一点 ?

plantuml

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

用于 C 语言单元测试的 Eclipse 插件

我知道有一个用于 junit 测试的 Eclipse 插件。这就提出了一个问题,是否还有可用的 C 单元测试工具?

c eclipse unit-testing

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

DECLARE_WORK 中函数的 Linux 传输参数

我尝试编写一个事件工作队列,但我遇到了一些问题。

我使用的是 Linux 2.6.36 内核。并且 DECLARE_WORK 函数从 3 个参数更改为 2 个。

问题是,旧的声明是

 DECLARE_WORK  (struct work_struct name,  void (*func)(void *),  void *data); 
Run Code Online (Sandbox Code Playgroud)

而新的是

 DECLARE_WORK  (struct work_struct name,  void (*func)(void *)); 
Run Code Online (Sandbox Code Playgroud)

我认为 void *data 指针是给 func 参数。那正确吗?我如何使用新版本的 DECLARE_WORK 做到这一点?

谢谢您的帮助

彼得

linux linux-device-driver linux-kernel embedded-linux

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

C中","运算符的行为不清楚

在给定的代码中,我发现了以下序列,

data = POC_P_Status, TE_OK;
Run Code Online (Sandbox Code Playgroud)

我不明白这是什么意思.

数据元素是否接收第一个或第二个元素或其他内容?

更新:

我在某处读到这种行为是这样的,

如果我写那个:

if(data = POC_P_Status,TE_OK){...}

如果TE_OK为真,那么teh if子句将为真.

你什么意思?

c comma-operator

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

greenhills 编译器关闭文件或部分文件的优化

我发现了几个用于禁用专用代码部分的 GCC 优化的代码片段。

使用编译指示 GCC 优化(0)

但我找不到 Greenhils 编译器的类似内容。

没有这样的选择吗?

c compiler-optimization greenhills

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

调试strlen时出现Eclipse错误

此程序在i=(strlen(data));消息点崩溃

没有可用于"strlen()"的来源

但为什么?

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


int main (void) { 
    char data[]="Hallo";
    char buffer[100];
    if (strlen(data)!=0)
    {
        size_t i=0;
        i=(strlen(data));
        snprintf(buffer,i,"Data: %s \n",data);
        return strlen(data)+1;
    }
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

c

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