如何 运行 从 USB pendrive 获取 c 代码?

how to run a c code from a usb pendrive?

我不得不 运行 我在多台计算机上编写的一些代码,一旦完成(完全编译和 运行)代码就不会出现在那些计算机上。
以前,我能够使用 python 中编写的代码来完成此操作。通过将 python 代码放入笔式驱动器并直接从笔式驱动器本身 运行 它们。

说,我有一个 python 代码放在我的笔式驱动器中 (5A30-C211)。

/media/5A30-C211$ python sample_code.py

我能够得到输出(其中 /media/5A30-C211 是我的笔式驱动器)。但是我现在有一些c代码。当我对 C 代码执行相同操作时。

/media/5A30-C211$ gcc sample_code.c -o sample_code
/media/5A30-C211$ ./sample_code
bash: ./sample_code: Permission denied

当我看到 Permission denied 这个词时,我在编译和 运行 命令中添加了 sudo。我得到的输出为 command not found

问题是: 有什么方法可以 运行 从 USB 闪存棒/笔式驱动器中获取 c 代码,而无需像使用 python 那样使用 sudo

您的文件需要可执行权限 (chmod +x),但由于您是 运行 不支持 posix 权限的 vfat 驱动器,chmod 将无法工作。

您需要使用适当的权限重新安装驱动器。

mount -t vfat -o umask=022,gid=<users group id>,uid=<user id> \
    /dev/<pendrive device> /mnt/<pendrive mnt point>

要运行编译程序需要在文件上设置可执行权限。这里的问题是你的 pendrive 被格式化为 vfat,这是一个来自 Windows 世界的文件系统。因此不支持Unix权限系统,无法设置文件的可执行权限

您有两种选择来解决您的问题:

  • 将 pendrive 格式化为类似 ext4 的 Unix FS。
  • 将您的程序复制到 PC 上的临时文件夹中,赋予其可执行权限 (chmod +x ),然后将其删除。