Executando um programa C armazenado em uma unidade do Windows? [duplicado]

0

Eu escrevi um programa hello world simples, mas não o armazenei no diretório home do Ubuntu, ao invés disso eu o armazenei em uma das unidades do Windows. (Eu estou usando o Ubuntu 12.04 ao lado do Windows.)

Quando eu compilei o programa, funcionou bem, mas quando tentei executar , recebi uma mensagem de erro "Permission denied" .

E quando eu armazeno o programa no diretório home do Ubuntu eu posso perfeitamente compilar e executar o programa. Então, por favor, me diga como superar esse problema?

    
por bijay prakash singh 18.06.2012 / 15:51

3 respostas

1

Quando você monta a partição do Windows no Ubuntu, ela é montada com uma diretiva noexec. Você poderia simplesmente montar essa unidade na sua fstab se você acessá-lo do Ubuntu muito. Você precisará executar um blkid para determinar qual é o UUID da unidade do Windows e, em seguida, incluir uma instrução de montagem no seu fstab. Certifique-se de quando chegar à seção de argumentos da linha que você não especificou noexec.

    
por Optichip 18.06.2012 / 15:56
0

Primeiro, você deve verificar as permissões no arquivo e no sistema de arquivos

 ls -la <filename>

Verifique se você tem os direitos apropriados para executar o arquivo

Ou verifique quais são as propriedades do sistema de arquivos para o sistema de arquivos montado no Windows

mount

Cole a saída aqui. Talvez possamos ajudar

    
por mbs 18.06.2012 / 15:55
0

Você precisa mudar para esse diretório e depois executar o programa depois de alterar as permissões. Você se tornará um superusuário para esse propósito.

Estou assumindo que você pode navegar para esse diretório no Windows onde salvou esse arquivo.

Agora, vá para esse diretório e abra o terminal do outro lado e digite

cd

e arraste o diretório no qual seu arquivo .c existe no terminal. Se o seu arquivo estiver no Windows Desktop, o terminal ficará assim:

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

Agora, digamos que seu arquivo seja test.c, altere as permissões do arquivo e veja se funciona usando:

sudo chmod 755 test.c

Agora compile e veja se funciona, se não fizer o mesmo para a.out também.

Se isso não funcionou, acho que significa que as permissões do drive precisam ser alteradas.

Para isso, o comando seria algo como isto:

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

onde 'o que for' depende do seu sistema.

As instruções para fazer isso são aqui e aqui

Se não é isso que você está falando, então você deve fazer o que mbs disse.

    
por Forbidden Overseer 18.06.2012 / 16:12