LINUX.ORG.RU

Точнее вопрос сформуируй

Die-Hard ★★★★★
()

Точнее вопрос такой. Я хочу написать программу на С при запуске которой загрузился бы тот файл на который я бы дал ссылку в коду программы. Например на С++ Builder 5 есть такая команда: ShellExecute(Handle,NULL,"путь к файлу", NULL,NULL,SW_RESTORE); т.е. например при нажатии на кнопку запускается тот файл на который я дам ссылку. А тут я хочу всё тоже самое, но только на Unix, а не на винде или досе. Можно ли?

Nio
() автор топика
Ответ на: комментарий от Nio

А вот ты подумай головой: действительно ли ты хочешь делать такие вещи на Цэ? Может, тебе на самом деле Tcl (+Tk) нужен? А то мно-огие, пришедшие с виндовоза, имеют дурацкую привычку всё на цэ писать, не зная, что это противоречит кошерному юникс вэю.

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

Ну а теперь, если ты всё ещё уверен в своей правоте, почитай info libc на предмет exec*, и маны на fork и popen.

Antichrist
()
Ответ на: комментарий от Antichrist

> дурацкую привычку всё на цэ писать, не зная, что это противоречит
> кошерному юникс вэю.
Наоборот, вполне в русле - накатать маленькую системную утилитку на
десяток строк и вставлять ее в скрипты. Никакого криминала, си - родной
для Юникса и, как правило, входит в поставку.

> Может, тебе на самом деле Tcl (+Tk) нужен?
Вот уж что противоречит "кошерному юникс вэю", дак это Tcl (+Tk)!
Я не про идею, а про реализацию.

Die-Hard ★★★★★
()

Который раз вижу в этом форуме: человек хочет НАУЧИТЬСЯ писать на С а ему советуют какой-нить Lisp.

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

rush

anonymous
()

Ребята, я написал обычный батник, и теперь я хочу чтобы исходного кода этого батника никто не видел!!!! Вот мне и нужно было написать программку запуска, ведь она откомпилирована и путь к файлу никто в нём не увидит. Вот и всё! А вы тут начали меня ламером обзывать! Низнаю почему Antichrist такой суетной?!

Кстати, этот файл я добавил в cron но он его не видит нигде как только в корневике!!! Почему?

Nio
() автор топика

> и путь к файлу никто в нём не увидит

Да что Вы говорите??? Если не шифровать (хотя бы тупой xor) эту строку, она открытым текстом видна в бинарнике, скажем, по F3 в mc.

P.S. Что-то трояном пованивает.

Obidos ★★★★★
()

Obidos да ты не понял!!! В откомпилированном готовом файле путь вызываемого бинарника никто не увидит!!!! Тут не трояном попахивает, а я написал рульные вещи и не хочу чтобы начальство хоть приблезительно знало как и что работает!!!! Теперь то всё всем понятно! :)

Nio
() автор топика

2 Nio (*) (2002-02-21 10:51:24.0)
>В откомпилированном готовом файле путь вызываемого бинарника никто
>не увидит!!!!

Только в том случае, если ты этот путь шифруешь.

asd
()

А как шифрануть это путь или сам файл?

Nio
() автор топика

Nio: сделай strings tvoy_binarnik и всё увидишь....

HEKTO
()

> А как шифрануть это путь или сам файл?

Самый примитивный вариант -- xor'ом.

asd
()

2Nio: спасибо что идею подкинул, сам бы не догадался поискать :)
но вот поискал и нашёл полезную весчь, шифрует и бинарники и скрипты
на bash,perl,python итд, бинарник у меня зашифровало без проблем, всё работает
а скрипт на python'e перестал работать почему-то....
зовёцца эта весчь FreeESS взять можно на http://www.plugslot.com/FreeESS.html

HEKTO
()

А чо атрибут только навыполнение не катит? (--x) Или у начальства рут есть. Так закрой им рута, скажи что такого аккаунта больше нет :))). Кстате есть идея. Можно ли ПЕРЕИМЕНОВАТЬ РУТА? А??? Скажем будет не root, а user :))).

anonymous
()

> Можно ли ПЕРЕИМЕНОВАТЬ РУТА? А??? Скажем будет не root, а user :))).

vi /etc/passwd

asd
()

daje esli shifruesh stroku poprobui: strace your_proga 2>&1 | grep exec

rush

anonymous
()
Ответ на: комментарий от HEKTO

Подскажи как это всё дело заинсталять... Чё то нифига не получается врод бы заинсталялся а файла запуска нету в /bin. Что делать-то?

Nio
() автор топика
Ответ на: комментарий от Nio

Сколько тебе лет?

> Подскажи как это всё дело
Какое?
> заинсталять...
Куда?
> Чё то нифига не получается врод бы заинсталялся
Кто "заинсталялся"?
> а файла запуска
Запуска чего?
> нету в /bin.
А что, он там должен быть?
> Что делать-то?
Для начала, спросить по-человечески.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

В данном случае явно требуется именно Tcl/Tk, потому как человек хотел запустить что-то по нажатию на гуёвый буттон. Си тут никаким боком не лежал.

Antichrist
()

Вот блин, бакланы, насоветовали тут фигни всякой. Какое на фиг шифрование, вы что? А strace на что? Всё равно всё увидят.

Antichrist
()

mlin pro baklanov eto tochno: chelovek ochevidno zanimaetsia programmirovanie nedavno, izuchaet C (i pravilno) a emu sovetuut redkie polu-iaziki tipa TCL/TK...

rush

anonymous
()
Ответ на: комментарий от anonymous

Ты дебил? Во первых, это твой блядский Цэ - полуязык. И не редкий он сейчас лишь благодаря тому, что дебилов значительно больше, чем умных. А во вторых, эта задача на тикле решается ровно в одну строчку, а на Цэ в целую сотню выйдет, и при этом говно получится. Всосал, любитель дохлых сволочных недоязычков?

Antichrist
()

mozhet C v akademicheskom smisle slabee drugih iazikov no po stecheniu obstoiatelstv ves mir (po krainei mere sistemnogo programmirovania) seiachas jivet na nem. I zavtra budet imenno tak. Esli nujno prosoto zapustit programmu to ia eto sdelau na C-SHELL bez vsiacheskih TCL/TK i prochih izvrashenii interesnim tolko tem kto nichego real`no ne pishet

Mojet dlia svoih zelei TCL/TK i mojhno prisposobit (sama po sebe neprostaia zadacha) no sovetovat` emu cheloveku kotori` ne znet poka chto takoe fork/exec mojhet tolko nenormal`ni`

koroche pravilnii otvet: man fork;man exec;

rush

anonymous
()

И по фигу что сумасшедшим ученым нравится рассуждать о стилистике языков где С явно проигрывает всяческим экзотическим Ada-95 и прочим

вопрос четкий: аналог Win32 API-функции ShellExecute а это явно syscalls fork/exec

rush

anonymous
()
Ответ на: комментарий от anonymous

Ты читать умеешь?!? Сказано было - гуёвая кнопочка нужна.

Ну и ещё - учиться программировать, начиная с ебанутого недоязычка Цэ может только очень больной на голову человек.

Antichrist
()

a) Antichrist (*) (2002-02-24 18:09:27.0) >> Ты читать умеешь?!?

блиин читай снова лучше по слогам: Nio (*) (2002-02-20 17:24:16.0) >> Я хочу написать программу на С

я думаю что вопрос исчерпан

b) >> Ну и ещё - учиться программировать, начиная с ебанутого >> недоязычка Цэ может только очень больной на голову человек.

С чего начинать учиться это еще вопрос - многие начинали с кодирования в 0 и 1(или еще хуже) и вроде как написали не самые слабые программы

Короче пытаться писать что-либо серьезное нельзя не понимая как работает ОС. А это не вожможно без знания С и ассемблера(а лучше пары-тройки asm`ов). А потом уже можно и TCL/TK и что там сейчас теоретиков у модно.

А С хоть не и идеален но для своих целей вполне подходит.

rush

anonymous
()

Nio (*) (2002-02-20 17:24:16.0) >> на С++ Builder 5 есть такая команда: ShellExecute >> (Handle,NULL,"путь к файлу", NULL,NULL,SW_RESTORE);

Тем более нужно изучать С чтобы знать что ShellExecute - не команда C++ Builder

и что TCL/TK запускает не маг сидящий в системном блоке

rush

anonymous
()
Ответ на: комментарий от anonymous

2rush: Антихрист как обычно, в своем репертуаре. ;-)

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

Я даже не удивлюсь, если он [Антихрист] будет несогласен, что любой язык программирования - это всего лишь инструмент, необходимый для записи определенного набора идей, с дальнейшей их материализацией с помощью компайлера.

И выходное качество зависит не от языка, а от идей, которые записали.

P.S. Философия качества - сложная штука, куда легче сконцентрироваться на "засерательстве" какого-нибудь инструмента. ;-)

P.P.S. Кто с этим не согласен - почитайте Роберта Пёрсига; он очень интересно пишет о философии качества.

proff
()
Ответ на: комментарий от proff

Дык блин, естественно инструмент. Тем более глупо циклиться на одном единственном инструменте, да ещё так нелепо формулировать задачу - "сделать XXX на языке YYY", вместо того, чтобы просто "сделать XXX". Задача дёрнуть что-то по нажатию на кнопочку - для Tcl, не для Цэ. Задача посчитать что-то числодробильное - для Фортрана, а не для Tcl. Задача ядрёный модуль написать - для Цэ. И то, не обязательно...

Antichrist
()

вот наслушался умных дядей - решил tcl попробовать - не посоветуете доку на русском ?

anonymous
()
Ответ на: комментарий от anonymous

На русском вообще нет ни одной нормальной доки, ни для одного языка и ни для одной технологии. Всякие там "Онанизм за 24 часа для чайников дошкольного возраста" не рассматриваем.

Ну а если не на русском, то я сильно рекомендую книгу:

John K. Ousterhout, "Tcl and Tk toolkit", Addison-Wesley.

Она хоть и старенькая, но добренькая.

Так же советую каким либо поисковиком найти "Tcl tutorial" - интерактивную обучалку. С ней вообще основы языка на пару часов выучить можно.

Antichrist
()

> И выходное качество зависит не от языка, а от идей, которые записали. И от языка тоже. Хороший инструмент мастеру всегда поможет, хоть и работу за него не сделает. Как поется в песне: "I was taught assembler in my second year of school, It's kind of like construction work with a toothpick for a tool" > Короче пытаться писать что-либо серьезное нельзя не понимая как работает ОС. ОС можно написать на чем угодно. И полезно ОС изучать абстрактно, в отрыве от С. Кругозор, знаете, расширяет: начинаешь понимать где проектное решение принималось осознанно, а где это всего лишь дань языку реализации.

Viking
()

> И выходное качество зависит не от языка, а от идей, которые записали.
И от языка тоже. Хороший инструмент мастеру всегда поможет, хоть и работу за него не сделает. Как поется в песне:
"I was taught assembler in my second year of school,
It's kind of like construction work with a toothpick for a tool"
> Короче пытаться писать что-либо серьезное нельзя не понимая как работает ОС.
ОС можно написать на чем угодно. И полезно ОС изучать абстрактно, в отрыве от С. Кругозор, знаете, расширяет: начинаешь понимать где проектное решение принималось осознанно, а где это всего лишь дань языку реализации.

Viking
()

По TCL/TK также есть хорошая книга Brent B. Welch Practical Programming in Tcl and Tk (где-то в сети даже видил ps этой книги правда первого издания. Сейчас есть третье).

Еще можешь выкачать программу ProjMan с http://conero.lrn.ru/soft/projman-0.1.4-1.tar.gz - это редактор для TCL написанный на TCL . В нутри дистрибутива имеется подробная докуметация как на русском, так и на английском.

Korwin ★★★
()
29 мая 2002 г.

Ogromnoe spasibo za otlichnyi spektakl. Ya ochen prikololsya s vashego odsujdeniya .MOLODTZY. Tam gde est voprosy etogo debila Nio tam vsegda prokol. Ob'yasnite ,kak etot Nio gde-to esho rabotaet????

Evgeny.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.