草庐IT

SOME_REQUEST

全部标签

c - 添加 request_mem_region 后,我的驱动程序每次第一次访问都会失败,并显示 "busy"消息

好吧,这对我来说真的很奇怪。我有一个模拟的CAN总线驱动程序,它是一个Linux内核模块。然后我有一个在用户空间中运行的测试应用程序,它通过打开文件描述符并发送ioctl()消息来访问驱动程序。现在CAN总线驱动程序正是我一直采用的在x86平台上运行的东西(它在我们的嵌入式Coldfire系统上运行)。在嵌入式系统上,它必须使用request_mem_region()/ioremap()来获取内存I/O区域,我不需要这样做,但我想尽可能多地保留代码的通用性。这里有一些有用的定义:#defineMCF_MBAR0x10000000externunsignedintBase[];exter

linux - sd-bus API,sd_bus_request_name 返回权限被拒绝

systemd中的总线API221。当我在系统总线中请求一个对象的名称时,它会打印出一条错误消息“权限被拒绝”。我以root身份运行输出文件。"sd_bus_request_name(bus,"net.poettering.Calculator",0)"行抛出错误:"无法获取服务名称..:权限被拒绝"我认为root应该有权限获取一个对象的名称。有谁知道如何解决这个问题吗?提前致谢。这是来自http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html的示例代码:intmain(intargc,char*argv[]){sd_bus

linux - "ant -version"返回/usr/bin/build-classpath : error: Some specified jars were not found

当在linux终端窗口中键入“$ant-version”时,我收到2个错误,后跟版本号和编译时间。第一个错误:/usr/bin/build-classpath:错误:找不到此JVM的xml-commons-apisJava扩展第二个错误:/usr/bin/build-classpath:错误:找不到一些指定的jar紧随其后2007年1月6日编译的ApacheAnt版本1.6.5我将$JAVA_HOME设置为jdk位置并添加到我的路径中这些错误的原因可能是什么? 最佳答案 看起来您可能错过了installation的一部分步骤。Set

c - Linux, C : terminate multple threads after some seconds (timer? )

Linux,C.我创建了多个线程来运行工作负载,我想在指定的秒数/超时后通知这些线程停止/终止。我如何用C实现它?void*do_function(void*ptr){//calculating,dotheworkloadhere;}intrun(structcalculate_node*node){pthread_tthreads[MAX_NUM_THREADS];for(t=0;tmax_threads;t++){rc=pthread_create(&threads[t],NULL,do_function,(void*)node);if(rc)return-1;}//howdoIc

c# - Web API 2 POST-Request 不适用于单声道

我想在没有IIS或其他东西的单声道Linux机器上用WEBAPI2编写一个REST服务器。我做了什么:创建了一个空的C#控制台应用程序添加了Nuget包:Microsoft.AspNet.WebApi.OwinSelfHost、WebApi.Cors用于处理CORS请求然后我创建了一个Startup.cs来定义我的配置;publicclassStartup{publicvoidConfiguration(IAppBuilderapp){app.UseWebApi(ConfigureWebApi());}privateHttpConfigurationConfigureWebApi(){

linux - 甲骨文查询 - ORA-01652 : unable to extend temp segment but only in some versions of sql*plus

这个让我很困惑。我编写了一个查询,它在我的开发客户端上运行良好,但在生产客户端上失败,出现错误“ORA-01652:无法通过...扩展临时段”。在这两种情况下,数据库和用户都是相同的。在我的开发机器(MSWindows)上,我有SQL*PLUS(9.0.1.4.0版)和Toad9.0(都使用oci.dll的9.0.4.0.1版)。两者都运行代码而没有错误。但是,当我在另一台机器上使用相同的用户名/密码针对相同的数据库运行相同的文件时,这次是版本10.2.0.4.0(来自10.2.0.4-1Oracle即时客户端),我得到了错误。它确实可重复发生。不幸的是,我只能有限地访问设置为只读的数

linux - 为什么树莓派驱动中有 `gpio_request`而不是 `request_region`?

在LDD3一书中,如果一个驱动程序想要控制CPU的管脚,它应该调用request_region()函数来声明端口的使用。然而,当我想在我的RaspberryPi上实现一个简单的驱动程序模块时,我在thisexample中找到了它。端口请求通过gpio_request()函数实现。为什么以及何时我们需要使用gpio_request()而不是request_region()?并且,这两个函数的目的有何不同。顺便说一句:我一页一页地搜索了LDD3,但我找不到关于GPIO的任何线索...为什么没有任何关于的介绍GPIO?是2.6内核版本的问题吗? 最佳答案

c - 简单中断处理程序 : request_irq returns error code -22

我正在编写一个简单的内核模块,它可以注册一个中断并处理它。但是,当我尝试通过调用request_irq函数来注册中断时,它返回错误代码-22:ERROR:CannotrequestIRQ30-code-22,EIO5,EINVAL22我相信,这个错误代码等于EINVAL(无效参数)请告诉我,我做错了什么。这是一个模块:#include#include#include#include#include#include#include#include#include#includevoidint068_interrupt(intirq,void*dev_id,structpt_regs*re

c - 如何将参数 n 传递给 printf ("%nd", some_int);

我们都知道在基于C的语言中,printf("%11d",some_int);表示在11个字符的字段内右对齐,但是如果我想将这里的常量11替换为一个动态变量,我要做什么? 最佳答案 您可以使用*字符在它自己的参数中指定字段宽度:printf("%*d",some_width,some_int); 关于c-如何将参数n传递给printf("%nd",some_int);,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

linux - 为什么 Linux 上的 Chrome 显示未知协议(protocol)的 "External protocol request"对话框?

我正在为Linux上的GoogleChrome创建自定义协议(protocol)处理程序。我的链接如下所示:Triggermyappwithparam我注意到,如果“myprotocol:”未注册(未安装我的应用程序),Linux上的GoogleChrome会显示“外部协议(protocol)请求”对话框并尝试使用xdg-open:在Windows10和OSXElCapitan等其他操作系统上,如果协议(protocol)未注册,则不会显示任何内容。我还验证了Firefox在Windows、OSX和Linux上始终适用于未知协议(protocol)——没有任何显示。Linux上的Chr