С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/57: Рейтинг темы: голосов - 57, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 22.12.2013
Сообщений: 2
1

Компилирование и запуск исполняемых файлов

22.12.2013, 14:58. Показов 10639. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Компилирую обычный .с файл: gcc chw.c.
Содержимое файла chw.c:
C
1
2
3
4
5
6
#include<stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
В текущей папке создаётся исполняемый файл a.out. Затем запускаю его на выполнение 1)./a.out либо 2)sh ./a.out. . В первом случае выдаёт ошибку bash: ./a.out: Отказано в доступе. Во втором ./a.out: 1:./a.out: Syntax error: "(" unexpected.
Перепробовал все разрешения доступа и запуска исполняемого файла. Например: chmod 777 a.out, chmod +x a.out.
Ребята помогите, я уже голову сломал!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2013, 14:58
Ответы с готовыми решениями:

Запуск исполняемых файлов
Всем привет! У меня есть вот такая вот штука application/x-executable. Как я понимаю это...

Запрет на запуск исполняемых файлов
Подскажите статью как через гпо обычным пользователям (не админам) запретить запуск любых...

Не всегда работает запуск исполняемых файлов в IE
Доброго всем времени суток! Создал html страницу. На ней есть кнопка, при нажатии которой...

Запуск и удаление исполняемых файлов из каталога
Здравствуйте. Помогите пожалуйста разобраться в некоторых местах кода. Полное задание: unit.cpp...

6
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
22.12.2013, 16:06 2
АнтонСавицкий,
Второй способ (sh ./a.out) может использоваться только для запуска скриптов.
Возможные варианты:
1. Файловая система, где находится файл смонтирована с опцией noexec
cat /proc/mounts покажет опции монтирования
2. В системе активизирован и настроен соотв образом selinux или AppAmor и др. система принудительного контроля доступа.
3. Могут быть настроены дополнительные аттрибуты.
Больше ничего в голову не приходит.

Сначала все же посмотрите права доступа к файлу.
ls -l a.out.
Можно попробовать запустить от рута или переместить в другой каталог.

Добавлено через 11 секунд
АнтонСавицкий,
Второй способ (sh ./a.out) может использоваться только для запуска скриптов.
Возможные варианты:
1. Файловая система, где находится файл смонтирована с опцией noexec
cat /proc/mounts покажет опции монтирования
2. В системе активизирован и настроен соотв образом selinux или AppAmor и др. система принудительного контроля доступа.
3. Могут быть настроены дополнительные аттрибуты.
Больше ничего в голову не приходит.

Сначала все же посмотрите права доступа к файлу.
ls -l a.out.
Можно попробовать запустить от рута или переместить в другой каталог.

Добавлено через 1 минуту
PS. На медленных каналах интерфейс дублирует сообщения

Добавлено через 9 минут
PPS
sh ./a.aut можно попробовать
/lib/ld*so /путь_к_файлу/a.out
1
0 / 0 / 0
Регистрация: 22.12.2013
Сообщений: 2
24.12.2013, 16:32  [ТС] 3
Ну у меня получилось запустить исп файл только из домашней директории. Почему так не понял.
Вот что вышло по команде cat:
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=2012960k,nr_inodes=209124,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=404240k,mode=755 0 0
/dev/disk/by-uuid/90f2be95-b9f9-4bac-bb14-a7b16a307370 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
none /run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
gvfsd-fuse /run/user/user/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
/dev/sda3 /media/user/6AC44039C4400A31 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,bl ksize=4096 0 0
0
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 9
24.12.2013, 18:48 4
Вот так должен быть написан этот листинг. void в скобках совершенно лишнее. Далее gcc cwh.c а после ./a.out
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main()
{
 printf("Hello world!");
 return 0;
}
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
23.01.2014, 02:06 5
./a.out вроде должно было сработать, но не как скрипт.
Может быть нету прав на директорию.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
24.01.2014, 10:07 6
Цитата Сообщение от iogan Посмотреть сообщение
void в скобках совершенно лишнее
в языке С пустой список аргументов означает тоже самое, что в С++ список аргументов "...". Поэтому явно указывать void если не обязательно, то желательно.
1
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
24.01.2014, 15:10 7
gcc main.c -o main
./main
все работает
1
24.01.2014, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2014, 15:10
Помогаю со студенческими работами здесь

Запуск всех исполняемых файлов в каталоге
Всем привет. Подскажите пожалуйста, как выполнить вот такое задание. Запуск всех исполняемых...

Вирус заблокировал запуск исполняемых файлов
Вообщем докачался. Скачал вчера программу, а в ней оказлся вирус. Вирус заблокировал запуск любых...

Запуск всех исполняемых файлов в указанном в каталоге
Запуск всех исполняемых файлов в указанном в каталоге. Каталог вводится в качестве параметра....

Запуск и последующее удаление всех исполняемых файлов из каталога
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru