如何从usb pendrive运行c代码?

时间:2015-02-05 07:41:52

标签: python c usb-drive

我必须在多台计算机上运行我编写的少量代码,一旦完成(完成编译和运行),代码就不会出现在这些计算机上。
以前我能用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

问题是: 有没有什么办法可以像我用python那样使用sudo从usb闪存棒/笔式驱动器运行c代码?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

您有两种方法可以解决您的问题:

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