Выполнение программы C, хранящейся на диске Windows? [дубликат]

Возможный дубликат:
Ошибка разрешения файла .exe

Я написал простую программу hello world, но не сохранил ее в домашнем каталоге Ubuntu, вместо этого я сохранил ее на одном из дисков Windows . (Я использую Ubuntu 12.04 вместе с Windows.)

Когда я скомпилировал программу, она работала нормально, но когда я попытался выполнить , я получил ошибку сообщение «Permission denied» .

И когда я сохраняю программу в домашнем каталоге Ubuntu, я могу отлично скомпилировать и выполнить программу. Так что, пожалуйста, скажите мне, как решить эту проблему ??

0
задан 13 April 2017 в 15:23

3 ответа

Когда вы монтируете раздел Windows в Ubuntu, он монтируется с директивой noexec. Вы можете просто смонтировать этот диск в свой fstab, если вы часто обращаетесь к нему из Ubuntu. Вам нужно будет запустить blkid, чтобы определить UUID диска Windows, а затем добавить для него инструкцию mount в свой fstab. Когда вы попадете в раздел аргументов строки, не указывайте noexec.

0
ответ дан 13 April 2017 в 15:23

Вам необходимо перейти в этот каталог, а затем запустить программу после изменения разрешений. Для этого вы станете суперпользователем.

Я предполагаю, что вы можете перейти в тот каталог в Windows, где вы сохранили этот файл.

Теперь перейдите в этот каталог и откройте терминал на другой стороне, введите

cd

и перетащите каталог, в котором находится ваш файл .c, в терминал. Если ваш файл находится на рабочем столе Windows, терминал будет выглядеть следующим образом:

cd '/media/Windows_7/Users/username/Desktop' 

Теперь предположим, что ваш файл - test.c, измените права доступа к файлу и посмотрите, работает ли он, используя это: [ 1110]

sudo chmod 755 test.c

Теперь скомпилируйте и посмотрите, работает ли он, если не делает то же самое для a.out.

Если это не сработало, я думаю, это означает, что необходимо изменить разрешения диска.

Для этого команда будет выглядеть примерно так:

sudo mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0000 /dev/whatever /mnt/whatever

где «все» зависит от вашей системы.

Инструкции для этого: здесь и здесь

Если это не то, о чем вы говорите, тогда вам следует сделать то, что сказал mbs.

0
ответ дан 13 April 2017 в 15:23

Сначала вы должны проверить права доступа к файлу и файловой системе

 ls -la <filename>

Проверить, есть ли у вас соответствующие права для запуска файла

Или проверить, какие свойства файловой системы имеются для смонтированная файловая система Windows

mount

Вставьте сюда вывод. Возможно, мы можем помочь

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: