问题标签 [bsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C 库的好集合?
我正在寻找一个很好的 ANSI-C 库集合,用于处理向量、哈希映射、二叉树、字符串处理等的东西。
macos - 有没有办法在 Mac OS X 中获取设备的 BSD 编号?
我的程序/dev/rdisk0
从输入中读取设备路径,然后查找IOKit
具有 BSD 名称的磁盘disk0
。为此,我必须/dev/r
从路径中删除。
硬编码这条路径可能会在未来版本的 Mac OS X 中中断。因此我想到了另一种方式:我可以匹配IOService
使用设备的 BSD 主要和次要版本。
这是我的问题:是否可以从路径中提取 BSD 次要编号和主要编号?
sockets - 一般sockets UDP编程问题
我有一个 FPGA 设备,我的代码需要与之通信。协议如下:
我发送一个非零字节 (UDP) 来打开一个功能。然后 FPGA 板开始在我发送的端口上喷出数据。
你看到我的困境了吗?我知道我将消息发送到哪个端口,但我不知道我从哪个端口发送(操作系统通常不会自动选择此端口吗?)。
我应该做的最好的猜测是创建一个带有目标 IP 和端口号的套接字,然后重用该套接字进行接收。如果我这样做,它是否已经设置为侦听我发送原始消息的端口?
此外,供您参考,此代码的变体将使用 Python 和 C# 编写。我可以查找特定的 API,因为它们都遵循 BSD 套接字模型。
unix - 达尔文:如何在不杀死孩子的情况下杀死父进程?
在 OS X 10.4/5/6 上:
我有一个产生孩子的父进程。我想杀死父母而不杀死孩子。是否可以?我可以在任一应用程序上修改源代码。
unix - UNIX 'comm' 实用程序允许在 BSD 中不区分大小写,但在 Linux 中不允许(通过 -i 标志)。如何在 Linux 中获取它?
我在 BSD 平台 (OSX) 上开发的应用程序中使用了出色的 UNIX 'comm' 命令行实用程序。当我部署到我的 Linux 生产服务器时,我很遗憾地发现,Ubuntu Linux 的“comm”实用程序没有使用 -i 标志来指示应该不区分大小写地比较行。显然 POSIX 标准不需要 -i 选项。
所以...我陷入困境。我真的需要在 BSD 上运行良好的 -i 选项。到目前为止,我已经尝试在 Linux 机器上编译 BSD comm.c 源代码,但我得到了:
有人对如何在 Linux 上获得支持“comm -i”的 comm 版本有任何建议吗?
谢谢!
c - 在汇编文件中使用#define 函数/内联函数的限制
在汇编文件中使用#define 函数/内联函数是否有任何限制。
我提到了 bsd 内核,其中定义了两种不同的实现。一个是宏,另一个是普通功能(两者都是相同的功能)
在c文件中splx被定义为function, http ://ftp.hu.freebsd.org/pub/netbsd/NetBSD-release-4-0/src/sys/arch/arm/omap/omap_intr.c
而在 h 头文件 splx 被定义为宏, http ://ftp.hu.freebsd.org/pub/netbsd/NetBSD-release-4-0/src/sys/arch/arm/omap/omap_intr.h
我的理解是c文件定义用于汇编文件,而宏定义用于包含头文件的所有其他函数。
我想我不清楚为什么组装在这里出现。基本上有两个定义,一个在 c 文件中,另一个在 h 文件中用于 splx。当我在 C 文件中注释掉 splx 定义时,我在汇编文件的编译中遇到了一些错误。(cpu.S)这就是为什么我认为在编译汇编文件时使用函数定义(如在 c 文件中),而宏定义是用于所有其他文件包括 h 文件。
现在我的问题是:为什么汇编文件也不能通过包含头文件来使用宏定义?
linux - 如何在 Linux 上将常规文件转换为符号链接
我正在编写一个(取消)归档工具,它的设计方式首先从归档中创建一个常规文件,然后再检查特殊属性并可能决定该项目实际上是一个符号链接。
注意:在更多人误解我想要制作文件的符号链接之前。不,我将符号链接数据,即它的路径,写入文件,然后我想告诉文件系统这是一个符号链接
我一直在 OS X 上开发此功能,只需相应地设置其类型和创建者代码,就可以将常规文件转换为符号链接。
现在我想让这段代码也能在 Linux 上运行。所以我喜欢在那里找到类似的方法。
我知道创建符号链接的正常方法是调用 symlink() 函数,但我想知道是否还有一种方法可以将常规文件更改为符号链接,就像在 OSX 的 BSD 系统中一样,所以我不必过多地重构我的工作代码?
有 lstat(),它在 st_mode 的最高位返回文件类型。现在我想知道这个模式字段是否还有一个类似的设置函数。
iphone - iPhone - 如何找到连接的 WiFi 接入点的 MAC 地址?
在不使用私有 API 的情况下,是否可以通过编程方式确定 iPhone 连接的接入点的 MAC 地址?
我知道这应该可以使用核心 BSD 库来实现,但是我们是新手,所以如果有人可以为我们指出一些入门代码,那就太好了。
注意:我们正在尝试确定远程设备的 MAC 地址,而不是iPhone 的 MAC 地址。
macos - 从 OSX CoreServices 对象获取 BSD 文件描述符
我是 OSX 用户空间开发的新手。在询问之前,我已经阅读了文档并在 Google 上进行了搜索,但对以下内容仍然一无所知。
如果我要使用 CoreServices 框架来处理文件(FSRef、Forks、URL 等),我能否获得原始 BSD 文件描述符(纯整数)?如果是,那我该怎么做?问题是,我想学习使用 OSX 框架进行编程,但手头的实际任务稍后将需要 BSD 文件描述符。
英索。
licensing - GPL 和 BSD 内核中的专有模块
由于 Linux 内核是 GPL 而不是 LGPL,我认为将专有代码链接到它是非法的。业界如何规避这种情况?我希望 GPL 许可证将迫使任何开发人员在 GPL 驱动程序和/或内核模块下发布。
也许我很困惑,实现一个新模块并没有真正链接到内核代码???企业如何应对这种情况?也许以相反的方式链接(从内核到他们的二进制文件)?
另一方面是BSD内核。您可以自由链接受保护的 IP。您能否在 BSD 内核中获得更好的设计来实现您的驱动程序?为 GPL 内核实现驱动程序时是否有任何设计限制?