小编And*_*ang的帖子

如何在Linux设备驱动程序中设置errno?

我正在设计一个Linux角色设备驱动程序.我想在ioctl()系统调用中发生错误时设置errno.

long my_own_ioctl(struct file *file, unsigned int req, unsigned long arg)
{
    long ret = 0;
    BOOL isErr = FALSE;

    // some operation
    // ...

    if (isErr) {
        // set errno
        // ...                 <--- What should I do?
        ret = -1;
    }

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

我该怎么做才能实现这一目标?提前谢谢你!


请允许我更详细地解释我的申请.

我的设备位于/ dev/myCharDev中.我的用户空间应用程序是这样的:

#define _COMMAND                    (1)
#define _ERROR_COMMAND_PARAMETER    (-1)

int main()
{
    int fd = open("/dev/myCharDec", O_RDONLY);
    int errnoCopy;

    if (fd) {
        if (ioctl(fd, _COMMAND, _ERROR_COMMAND_PARAMETER) < 0) {      // should cause error in …
Run Code Online (Sandbox Code Playgroud)

linux ioctl driver errno device-driver

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

如何在 Xcode 的目标中构建和嵌入另一个应用程序?

我的项目中有一个应用程序(名为App_Main)。我想在App_Main包中打包另一个小应用程序(我们称之为App_Tiny)。

然后,由于我知道 App_tiny 的路径,我可以在需要时在 App_Main 的运行时以编程方式执行 App_Tiny。

我怎样才能做到这一点?如何指定和构建另一个可执行目标,最重要的是,自动将 App_Tiny 放在 App_Main 的包目录中?

macos xcode build

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

OpenAL:alSourcePlay() 会阻塞当前线程吗?

我找不到有关此功能的详细说明。我现在想知道的是:

这个函数会阻塞当前线程吗?或者它只是告诉设备开始异步播放音频并立即返回?

audio openal

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

C功能参数神秘漂移?

我正在使用Samba 3.6.25工作.当我按照"smbclient"的源代码试图构建我自己的SMB服务器列表实用程序时,我遇到了一个奇怪的事情:

当我调用一个函数时,它会跳过我的第一个参数,然后用第二个参数填充它,然后第二个填充第三个参数,如下所示.

我调用该函数是:cli_rpc_pipe_open_noauth_transport()cli_pipe.c.我在其中添加了一些调试代码:

NTSTATUS cli_rpc_pipe_open_noauth_transport(struct cli_state *cli,
                        enum dcerpc_transport_t transport,
                        const struct ndr_syntax_id *interface,
                        struct rpc_pipe_client **presult)
{

    struct rpc_pipe_client *result;
    struct pipe_auth_data *auth;
    NTSTATUS status;

    status = cli_rpc_pipe_open(cli, transport, interface, &result);
    _DEBUG("cli = %p", cli);
    _DEBUG("transport = %p", transport);
    _DEBUG("interface = %p", interface);
    _DEBUG("presult = %p", presult);
    _DEBUG("cli->desthost = %p", cli->desthost);
    _DEBUG("cli->desthost = \"%s\"", cli->desthost);
    if (!NT_STATUS_IS_OK(status)) {
        return status;
    }
……
Run Code Online (Sandbox Code Playgroud)

这就是我调用这个函数的方式:

NTSTATUS _pipe_open_noauth(struct cli_state *cli, const struct ndr_syntax_id *intf, struct rpc_pipe_client **presult) …
Run Code Online (Sandbox Code Playgroud)

c assembly function mips parameter-passing

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

在Xcode中,视图或窗口以何种方式知道mouseDown外部的自身?

我想设计一个类似于弹出窗口的面板:当鼠标向下移动时,它可能会自行消除或隐藏.

但我不知道如何实现这一目标.我所知道的是,一个视图可以处理-mouseDown,-mouseUp等等.但是当按下鼠标在其他地方?我不知道如何抓住这个事件.


进一步讨论Bavarious:

我实际上正在研究状态栏.我跟着有一个问题.我研究的示例代码.

正如示例代码所做的那样,我覆盖了前面描述的视图并使用状态栏项的-setView:方法进行设置.我工作中的大多数代码都与示例代码完全相同.以下是我认为与我的混淆相关的代码的一些部分(使用BTW,ARC):

...
@property (nonatomic) SEL disclickAction;     // Called when "dismissed"
@property (nonatomic) SEL action;             // Called when selected
@property (nonatomic, assign) id target;  
...


- (void)dealloc
{
    NSLog(@"%@ dealloc", self);
    [self invalidate];
    //[super dealloc];
}

- (void)mouseDown:(NSEvent *)theEvent
{
    [self setHighlighted:![self isHighlighted]];
    if (_target && _action &&
        [_target respondsToSelector:_action])
    {
        [NSApp sendAction:_action to:_target from:self];
    }
}

// Here is the code that …
Run Code Online (Sandbox Code Playgroud)

macos xcode cocoa objective-c

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

关于Xcode构建设置的杂项混淆(64/32位,SDK版本等)

当我创建一个新的OS X应用程序项目时,我注意到很多目标选项让我感到非常困惑:


(1)Xcode窗口的左上角设置: 左上方


(2)"基础SDK": 基础SDK


(3)"部署目标": 部署目标


(4)架构: 架构


这是我的问题:

对于(2)和(3),我认为理解起来更清楚.这些是我理解的:
(2)这标识了我的发展.
(3)这标识了我的应用程序将使用的操作系统版本.
请告诉我,我是否正确......

但我无法理解(1).我只知道如果我在这里选择32位,我就无法使用ARC.

(4),它们是什么?它们代表CPU的位宽吗?(1)和(4)之间有什么区别?

ide macos xcode cocoa objective-c

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

有没有办法在Cocoa for OS X中获取应用程序的运行时间?

我想在我的应用程序中按时运行.我首先考虑的是系统uptime.由于这看起来很难实现,我很好奇是否有一种简单有效的方法来获取应用程序的运行时间?

以毫秒或时间间隔更好的时间.

macos cocoa systemtime

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

Xcode:OS X中的应用程序名称无法本地化?

我有一个名为"Multi-Camera Supervisor"的项目.我将"MainMenu.xib"文件本地化.以下是Xcode的本地化nib文件中的菜单栏:

英文的Xib文件:

日语的Xib文件:


但是当我在Xcode中运行我的应用程序时,第一项不起作用.以下是我的应用程序运行时的菜单栏:

运行英语菜单栏:

运行日语的菜单栏


您可以看到应用程序名称仍然是"Multi-Camera Supervisor"而非LOCALIZED.
同时,Dock图标中出现的应用程序名称也未本地化.
我该怎么解决这个问题?如何不仅在主菜单中而且在Dock中本地化应用程序名称?

macos xcode localization objective-c

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

如何通过编程方式按内容自动调整标签(NSTextField)?

我可以通过其内容自动调整多行NSTextField对象吗?

例如,我想使对象的宽度固定,但其高度适合其内容.那我该如何生成布局约束呢?

macos cocoa nstextfield autolayout

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

关于音频编解码器术语的定义

当我学习Cocoa Audio Queue文档时,我在音频编解码器中遇到了几个术语.在名为AudioStreamBasicDescription的结构中定义.

以下是术语:
1.采样率
2.数据包
3.帧
4.通道

我知道sample ratechannel.我是如何被其他两个混淆的.其他两个术语是什么意思?

您也可以通过示例回答这个问题.例如,我有一个双通道PCM-16信号源,采样率为44.1kHz,这意味着每秒有2*44100 = 88200字节的PCM数据.但如何packetframe

提前谢谢你!

audio codec pcm audio-recording audio-streaming

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