0

所以我编译了xdp程序

/usr/lib/x86_64-linux-gnu/

 sudo clang -Wall -L /usr/lib/x86_64-linux-gnu/ -I /usr/lib/usr/include/ -c af_xdp_user.c -o user.o 

或者

 sudo clang -Wall -L /usr/lib/x86_64-linux-gnu/ -I /usr/lib/usr/include/ -c af_xdp_user.c -o user.o  -lbpf

生成 user.o

但是没有使用 user.o,因为 ls -a 不显示 x 只是显示 -wr 进行读写。当我像sudo ./user.o消息所说sudo: ./user.o: command not found或没有 sudobash: ./user.o: Permission denied那样运行它时,究竟为什么我无法运行 .o 文件,我使用 tro 生成 .o 文件并执行类似简单的主程序,而不使用任何 libray 或任何共享的东西。我也尝试-o user并尝试执行 ./user 但同样的问题。

谁能告诉我我做错了什么

4

1 回答 1

0

我认为您只需要向文件添加执行权限即可。在终端中编写此命令来执行此操作:

sudo chmod a+x user.o

此命令将添加到所有用户的执行权限,所以只需键入

./user.o

将运行该文件。


如果您不希望所有用户都能够运行该文件,您可以只向 root 添加执行权限,如下所示:

sudo chmod u+x user.o

在这种情况下,您将能够通过键入来运行程序

sudo ./user.o
于 2022-01-14T15:33:47.557 回答