2

currently I access the parallel port this way:

ioperm(data->baseaddr,5,1);
outb(0x00,data->controlport);
inb(data->statusport);

The big disadvantage: it requires root-privileges and works with real parallel port hardware only (means USB-2-LPT converters are not supported).

So: is there an other way tho read/write data from/to parallel port?

Thanks!

4

1 回答 1

1

正如您所提到的,用户必须具有访问并行端口的权限才能使可执行文件成功运行。通常,只有 root 用户才有权限访问端口,所以程序必须以 root 权限运行。但是,应该可以通过执行以下操作使非 root 用户运行可执行文件:

1)使root成为可执行文件的所有者。一种方法是以 root 身份编译程序。

2) 赋予非用户执行程序的权限,但使程序在非root用户运行时以root权限运行。您可以使用以下命令(以 root 身份)将程序设置为以所有者权限(即 root 权限)运行:chmod +s /name/of/executable

于 2014-12-17T20:42:05.870 回答