Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Не выполняются программы написанные на С++.  (Прочитано 3809 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #15 : 21 Февраля 2012, 21:47:04 »
Будем ждать что посоветуют топы. Завязывай с оффтопом, если есть желание пообщаться, добро пожаловать в личку. :coolsmiley:

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #16 : 22 Февраля 2012, 00:53:10 »
если есть желание пообщаться, добро пожаловать в личку. :coolsmiley:
не малейшего желания :(, это из области "знания, которые не обогащают" ;)

Будем ждать что посоветуют топы.
я уже не первый день спрашиваю показать:
1. $HOME
2. что там с /etc/passed & etc/group, что там за user-ы с их UID после ваших переустановок...
3. whoami - в каталоге где вы компилируетесь
4. и права на этот каталог

и лучше не "я думаю", а - копированием ;)


Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #17 : 22 Февраля 2012, 07:27:27 »
1.HOME:
templar@Templar-UbuntuPC:~$ cd /home
templar@Templar-UbuntuPC:/home$ ls
lost+found  templar
2./etc/passed-такого файла нет, /etc/group:root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:templar
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:templar
fax:x:21:
voice:x:22:
cdrom:x:24:templar
floppy:x:25:
tape:x:26:
sudo:x:27:
audio:x:29:pulse
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:templar
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
libuuid:x:101:
crontab:x:102:
syslog:x:103:
fuse:x:104:
colord:x:105:
scanner:x:106:colord
messagebus:x:107:
lightdm:x:108:
nopasswdlogin:x:109:
mlocate:x:110:
ssh:x:111:
avahi-autoipd:x:112:
avahi:x:113:
netdev:x:114:
bluetooth:x:115:
lpadmin:x:116:templar
ssl-cert:x:117:
admin:x:118:templar
pulse:x:119:
pulse-access:x:120:
utempter:x:121:
rtkit:x:122:
saned:x:123:
templar:x:1000:
sambashare:x:124:templar
3.whoami:
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617$ whoami
templar
4.Если я правильно понял, права:
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp$ stat 1617
  File: «1617»
  Size: 4096      Blocks: 8          IO Block: 4096   каталог
Device: 804h/2052d Inode: 62282       Links: 1
Access: (0700/drwx------)  Uid: ( 1000/ templar)   Gid: ( 1000/ templar)
Access: 2012-02-22 09:08:20.535461000 +0600
Modify: 2012-02-22 09:08:16.182150000 +0600
Change: 2012-02-22 09:08:16.182150000 +0600
« Последнее редактирование: 22 Февраля 2012, 07:45:50 от Tempar »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #18 : 22 Февраля 2012, 10:32:18 »
Tempar,
покажи вывод mount

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #19 : 22 Февраля 2012, 12:45:19 »
1.HOME:
templar@Templar-UbuntuPC:~$ cd /home
templar@Templar-UbuntuPC:/home$ ls
lost+found  templar

$ echo $HOME
$ ls -l /home

2./etc/passed-такого файла нет,
/etc/passwd, естественно (w и e - рядом ;)).


4.Если я правильно понял, права:
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp$ stat 1617

нет, неправильно:
- это что за дикий путь каталога? это в нём вы делали свою компиляцию?
- это что за левый файл 1617? ... интересуют только те каталоги и файлы, которые входили в ваш злополучный вызов g++ или появлялись в результате него.
 

Пользователь решил продолжить мысль 22 Февраля 2012, 17:48:44:
Не выполняются программы написанные на С++, компилировал обычно через консоль командой g++ file.cpp, потом выполнял файл a.out. При попытке выполнить a.out консоль выдает "Отказано в доступе".

Tempar, ну что ж вы не покажете простейшие вещи?:

- в том каталоге, где вы делаете свою команду ... правда я бы лучше делал так:
$ g++ file.cpp -o fileтак вот в этом каталоге сделать:
$ pwd
...
$ ls -l
...
чтоб видно было и флаги, и дату создания этого вашего a.out (а то не исключено, что вы запускаете a.out "от прежнего хозяина", извлечённый из архива ... если gcc почему-то не создаёт свой).
« Последнее редактирование: 22 Февраля 2012, 17:48:44 от Olej »

Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #20 : 22 Февраля 2012, 18:09:34 »
templar@Templar-UbuntuPC:~$ echo $HOME
/home/templar
templar@Templar-UbuntuPC:~$ ls -l /home
итого 20
drwx------  2 root    root    16384 2012-02-19 19:50 lost+found
drwxr-xr-x 37 templar templar  4096 2012-02-22 19:48 templar
1.Раздел монтируется в папку /media/3E4402C044027B43/ (насколько я понял по дефолту)
2.Путь к исходнику: /media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617/sol.cpp
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617$ pwd
/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617$ ls -l
итого 489
-rw------- 1 templar templar 475784 2012-01-31 10:15 a.exe
-rw------- 1 templar templar   8060 2012-02-22 09:08 a.out
-rw------- 1 templar templar     11 2012-01-31 09:10 input.txt
-rw------- 1 templar templar      3 2012-01-31 09:46 output.txt
-rw------- 1 templar templar   8060 2012-02-22 10:02 sol
-rw------- 1 templar templar   1228 2012-02-22 10:14 sol.cpp

Пользователь решил продолжить мысль 22 Февраля 2012, 18:18:18:
Tempar,
покажи вывод mount
templar@Templar-UbuntuPC:~$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda7 on /home type ext4 (rw,commit=0)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/templar/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=templar)
/dev/sda4 on /media/3E4402C044027B43 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)

Пользователь решил продолжить мысль 22 Февраля 2012, 18:42:08:
PS: Не думаю что проблема с папкой потому, что файлы не выполняются на всем разделе.
« Последнее редактирование: 22 Февраля 2012, 18:42:08 от Tempar »

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #21 : 22 Февраля 2012, 19:23:45 »
templar@Templar-UbuntuPC:~$ echo $HOME
/home/templar
templar@Templar-UbuntuPC:~$ ls -l /home
итого 20
drwx------  2 root    root    16384 2012-02-19 19:50 lost+found
drwxr-xr-x 37 templar templar  4096 2012-02-22 19:48 templar
1.Раздел монтируется в папку /media/3E4402C044027B43/ (насколько я понял по дефолту)
2.Путь к исходнику: /media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617/sol.cpp
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617$ pwd
/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617
templar@Templar-UbuntuPC:/media/3E4402C044027B43/олимпиада/задачи/e-olimp/1617$ ls -l
итого 489
-rw------- 1 templar templar 475784 2012-01-31 10:15 a.exe
-rw------- 1 templar templar   8060 2012-02-22 09:08 a.out
-rw------- 1 templar templar     11 2012-01-31 09:10 input.txt
-rw------- 1 templar templar      3 2012-01-31 09:46 output.txt
-rw------- 1 templar templar   8060 2012-02-22 10:02 sol
-rw------- 1 templar templar   1228 2012-02-22 10:14 sol.cpp

не, это полная херня! ;) :
- это ж вы решили компилировать и выполнять в примонтированном каталоге на диске FAT/NTFS из виндузей? такой номер не проходит... :( (т.е. такое можно и проделать, но это полное что ни на есть: через задницу);
- у вас в каталоге на всех файлах отсутствует флаг исполнимости 'x' (да и с другими флагами не всё благополучно);
- копируйте в свой /home/templar (а ещё лучше в его подкаталог) свои "олимпиады" ... исходные файлы...
- там компилируйте + там и выполняйте.
« Последнее редактирование: 22 Февраля 2012, 19:53:09 от Olej »

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #22 : 22 Февраля 2012, 20:09:21 »
- копируйте в свой /home/templar (а ещё лучше в его подкаталог) свои "олимпиады" ... исходные файлы...
- там компилируйте + там и выполняйте.

Всецело присоединяюсь.

Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #23 : 23 Февраля 2012, 08:11:12 »
И все-же, пойду читать мануалы по монтированию.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #24 : 23 Февраля 2012, 09:32:36 »
ключевое слово umask, если что =)

Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #25 : 23 Февраля 2012, 09:52:18 »
Париться с монтированием в ручную не стал, а добавил строчку в fstab, писал наугад всякую херь в опции и тип монтирования раздела и перезагружал комп. В итоге получилось так: /dev/sda4 /media/D/ ntfs users,defaults,exec,umask=0 0 0
Все работает.
Как я понял exec разрешает открытие исполняемых файлов, только вот не пойму что тут дает umask=0.
Сейчас fstab выглядит так:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda4 /media/D/ ntfs users,defaults,exec,umask=0 0 0
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda5 during installation
UUID=024c4325-e89d-42c1-a352-6127d0187147 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda7 during installation
UUID=69afb713-1c0a-4c74-b72b-33856e8e0602 /home           ext4    defaults        0       2
# swap was on /dev/sda6 during installation
UUID=e6a6468f-482f-4b4b-be64-49026d37a1df none            swap    sw              0       0
« Последнее редактирование: 23 Февраля 2012, 18:38:08 от Tempar »

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #26 : 23 Февраля 2012, 12:35:29 »
Париться с монтированием в ручную не стал, а добавил строчку в fstab, писал наугад всякую херь в опции и тип монтирования файла и перезагружал комп. В итоге получилось так:

только зачем? : монтирование - это монтирование, а программирование - это программирование ;)
есть UNIX традиции, привычки, POSIX, в конце концов, который стандартизует, в том числе, многое и кроме API.

лучше таки придерживаться правил, а домашний каталог потому и называется >40 лет домашним...
 

Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #27 : 23 Февраля 2012, 18:31:08 »
Париться с монтированием в ручную не стал, а добавил строчку в fstab, писал наугад всякую херь в опции и тип монтирования файла и перезагружал комп. В итоге получилось так:

только зачем? : монтирование - это монтирование, а программирование - это программирование ;)
есть UNIX традиции, привычки, POSIX, в конце концов, который стандартизует, в том числе, многое и кроме API.

лучше таки придерживаться правил, а домашний каталог потому и называется >40 лет домашним...
 
Слушай, чел, ты что несешь? Причем тут домашний каталог, POSIX, традиции вместе с привычками? Если что-то имеешь против авто-монтирования, вперед к разработчикам Ubuntu. Я решил проблему и описал как. Если еще кто-то с этим столкнется, он сможет найти ответ.
« Последнее редактирование: 23 Февраля 2012, 18:34:06 от Tempar »

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #28 : 23 Февраля 2012, 18:38:24 »
Слушай, чел, ты что несешь? Причем тут домашний каталог, POSIX, традиции вместе с привычками?

вьюношо! я вам не "чел"... из одного корыта с вами кормиться чести не имел.
иди читай Букварь, неук убогий, репитируй... и через много-много лет, возможно, и поймёшь, о чём было сказано.

и да, ещё ;) ... : "пойди на конюшню, и передай, чтоб тебя выпороли"(с) ;)



Оффлайн Tempar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Не будите во мне тролля...
    • Просмотр профиля
Re: Не выполняются программы написанные на С++.
« Ответ #29 : 23 Февраля 2012, 19:11:07 »
Слушай, чел, ты что несешь? Причем тут домашний каталог, POSIX, традиции вместе с привычками?

вьюношо! я вам не "чел"... из одного корыта с вами кормиться чести не имел.
иди читай Букварь, неук убогий, репитируй... и через много-много лет, возможно, и поймёшь, о чём было сказано.

и да, ещё ;) ... : "пойди на конюшню, и передай, чтоб тебя выпороли"(с) ;)



1.Понять то, что ты надрыхал не сложно, в наше время есть wikipedia.org.
2.Если прочитать твои сообщения в этой теме и нашу с тобой дискуссию, создается ясное впечатление что ты балабол.
Столько заявлений и цитат, и ни одно заявление не было обоснованно.
Цитировать
неук убогий
Не обоснованно.
Цитировать
не, это полная херня!  :
- это ж вы решили компилировать и выполнять в примонтированном каталоге на диске FAT/NTFS из виндузей? такой номер не проходит...  (т.е. такое можно и проделать, но это полное что ни на есть: через задницу);
А у меня номер прошел, и не через задницу, а через предусмотренное монтирование раздела
Цитировать
- у вас в каталоге на всех файлах отсутствует флаг исполнимости 'x' (да и с другими флагами не всё благополучно)
Примонтировал с опцией exec, и О ЧУДО! флаг х появился
Цитировать
нет в UNIX рабочих столов ... как, впрочем, и нерабочих тоже нет!
Мной доказано обратное.
И на последок, как ты любишь, цитата:
Иногда лучше жевать читать чем глупости постить.

 

Страница сгенерирована за 0.071 секунд. Запросов: 21.