|
|
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
На одном из форумов где - то здесь. Прочитал интересную задачку, которую задают в какой то из американских софтверных компаниях при приёме на работу. Было, что - то вроде: Получить исходный код программы, не обращаясь к файлу на диске. Блин уже месяц рою доки - так и не нашел как это сделать. Мож кто уже пробовал, знает как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 08:49 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
Ничё не понял. Если программа на диске, то как ее получить не обращаясь туда. А если не только на диске то об этом не упомянуто (типа открыты BCB или VC), кеш в памяти колупать мало кто умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:14 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
может имеется в виду программа которая выводит саму себя например в консоль. были такие задачки раньше на олимпиадах типа. например на бейсике: 10 list 10 правда не все диалекты хавали директивы интерпретатора в рантайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:16 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
2 alex_k :)) На бейсике на том форуме тоже дали ответ. Но это только для бейсика, да и то старой версии. А например прогу на С++ как распечатать? 2 непонятливый А я, в общем, тоже не знаю как получить код без файла на диске, потому и спрашиваю. Можно получить машинный код, если знать в какой области памяти хранится программа и читать оттуда, а вот как этот машинный код обратно в ЯП перевести не знаю, точнее знаю - но это же через жопу и одному писать можно до старости. Если найду эту тему на том форуме - выложу сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:25 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
А, вот, уточняю задачу: Написать программу, выводящую свой исходный код, без обращения к физическому файлу на диске. Мож компилеры дебажную информацию где то сохраняют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:28 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
на си это как-то через дефайны делается. в любом случае, это задача на знание тонкостей языка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:31 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
Через дефайны может только один раз сработать, а если ты изменишь код программы - ну добавишь, допустим, int z=1; Твой дефайн его ведь не найдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:49 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
Вот, нашел. Только там ничего путного нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:58 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
Есть такая книжка "UnderPressure" которую написал Ed Sullivan. Этот мужик является (или являлся, точно не знаю) одним из руководителей NuMega (я думаю, многие знают ее продукты: BoundsChecker, SoftIce и т.д.). И там написано, что эту задачку использовали при приеме на работу в NuMega. Я тоже думал, как ее решить. Один из вариантов, если ее делать под Win32, то можно создать Custom Resource, и там задать, чтобы в качестве ресурса был external file и путь указать на текст программы. А в самой програмке загружать этот самый Custom Resource как строку и распечатывать ее. Только вот сомнение у меня - можно ли такое решение считать правильным - ресурс ведь будет в файле проги. ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 15:05 |
|
||
|
Получить исходный код. Как?
|
|||
|---|---|---|---|
|
#18+
смотрел я эту ссылочку (http://shelek.com/forum/viewtopic.php?t=1954&highlight=list) Там один товарищ правильное решение нарисовал для С. И можно совсем без #define обойтись. Я тут тоже свой вариант накатал (увы, воспользовался чужой идеей, но все равно я рад сам за себя :) Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 16:21 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32384080&tid=2035499]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 418ms |

| 0 / 0 |
