Начало программирования.

Тема в разделе "WASM.BEGINNERS", создана пользователем Heineken, 22 ноя 2008.

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Arthur
    какбэ императивный и процедурный это не много разные категории, они не сравниваются
     
  2. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Нет-нет, здесь я не имею ввиду какие-то конкретные языки. Просто интересно, почему нельзя просто указать прототип функции и откуда она импортируется.

    А зачем там собирать coff обьектник, если можно сразу PE.
    Вобще, больше нравится концепция фасма, когда компилятор и линкер одновременно.

    Это файлы исходного кода.
     
  3. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Потому что такие компиляторы производят только объектники, а компоновщикам нужна особая структура секции импорта :) Поэтому и нельзя, как и в прочем в fasm'е при сборке того же coff-объектника. Но в отличии от masm'a, fasm это и ассемблер и компоновщик вместе взятые.
     
  4. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    Товарищи, какой счет?
    Кто выигрывает паскальники или насильники?
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    amvoz
    Ага, только разберись, когда просто параметр, когда *, когда &... А в Паскале как раз всё просто и понятно: если параметр объявлен с var -- реально передаётся его адрес, т.е. вызываемая процедура или функция может изменить значение этого параметра; ну а если var не указан -- то передаётся само значение параметра, и изменить его невозможно. Так что Паскаль проще, Паскаль.
     
  6. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    чтобы к примеру скомпоновать с объектным файлом, чей исходник был написан на другом языке программирования, вместо перевода этого исходника для компилятора на котором вы собираете свой проект или в место компоновки obj в dll для последующего использования в своем проекте. Или когда исходный код неизвестен и имеется только obj.

    Я открывал такой файл и обнаруживал квадратики (т. е. символы не имеющие представления в алфавитах)
     
  7. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Про это уже достаточно толково объяснил CrystalIC.
    Мне не понятно другое: почему подобные типы не приводятся к друг-к-другу по умолчанию? Почему всегда явно приходится указывать приведение?
    Я понимаю данную ситуацию применительно к указателям, напр., если укзатель на структуру надо увлчить на один байт, то сначала приводим указатель на труктуру к указателю на байт...и тд.
     
  8. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    K10
    Порочная концепция. Если б успели поработать на мэйнфреймах, то на своей шкуре почуствовали б всю пользу объектников и библиотек объектных модулей :) Хотя дельфозные юниты в определённом смысле и являются такими библиотеками, только "высокоуровневыми".
     
  9. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    кто-нибудь читал "Вавилон-17" Дилэни? очень интересная концепция языка, который... обьяснить невозможно...
    Сэмюэль Дилэни - голубой негр, однако книжка отличная...
     
  10. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    driver Вот только п... эээ голубых тут еще не хватало...

    ЗЫ Ваще жжоте товарищи...не успеваю обновлять страницу )))
     
  11. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    О_о и такое бывает? :)
     
  12. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Aspire
    Ух, вы расист однако :) Чем вам голубые негры не нравятся? :)

    Про расиста - это я шучу конечно.
     
  13. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Arthur А вдруг они на дельфи кодят? )))
    Шучу...
     
  14. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Лутше учить тот язык который знают немного твои знакомие,или люди которые могут тебе что-то обьяснить если что не понятно, или у тебя есть много книг по нему(Это мое чисто мнение, и я так учил)...
    А так в принципе как по мне на важно с чего начать, можна и с ассемблера под ДОС он также довольно прост выучить команд 6-7 и мона спокойно делать простые программки, но ток для этого и еще прийдется поучить архитектуру компа...
    И вопрос начем лутше программировать начинать похож на вопрос: На каком языке лутше ребенка учить разговаривать))) думаю однозначного ответа по поводу языка не будет, но можна сказать так: лутше на том котором знают родители....ведь что за смысл учить детя говорить на китайском ели его родители не знают и не в чем помогут ребенку,не поймут его толком....
    Ведь достаточно усвоить один язык как потом будет намного проще и остальные усвоить...ведь главное научиться правильно мыслить в программинге, и понят что компу надо все разжевать и бо он не чего сам придумать не сможет.
    Создать четкий алгоритм(четкую последовательность действий, соблюдая которые можна прийти к какомуто результату)
    Ведь вопрос с чего начать... и то что здесь доказывают, врядли понятно тому человеку который задал вопрос, его не очень интересует какой язык лутше если он еще ни одного не знает! так же как и ребенку который не еще умеет говорить.
     
  15. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Попозже. Что-то у меня не получается инциализировать массив. Одни буквы ё выводятся. Глаз, что ли замылился.. Не случилось бы чего с системой или с компилятором...
    Но если ты имеешь ввиду, что в С инициализация массива громоздче, чем в Паскале, то тут я с тобой соглашусь. Но ничто же не мешает тебе написать функцию для инициализации массива и всегда её использовать. Так примерно:

    ima_funktsii (сhar * a, char x, char y);

    Вот и всё. Написал один раз, в какой-нибудь файл её вставил и сиди спокойно, вызывай, когда надо. В нашем случае переменная x будет 67, а переменная y 90... Переменная a при вызове функции будет содержать адрес нулевого элемента массива. То есть если массив объявлен char a [98], то в нашем случае вызов функции будет

    ima_funktsii (a, 67, 90);

    Всё, массив заполнен
    У меня подобных функций для работы со строками полно... Ну как полно- с десяток есть, сам написал. Альтернатива word (для собственных нужд). А то, что Pascal язык более высокого уровня и всё, что отсюда следует, так никто и не спорит. Но я всё равно потом напишу то, что ты просил, мне просто сейчас некогда, но не нравится мне это дело, что у меня одни буквы ё выводятся. А в Pascal, как я помню это дело автоматизировано (конканте... Короче склеивание строк и прочее). Само по себе в этом нет ничего плохого, а это даже хорошо. Только я уже раньше писал- Pascal для учёбы создан. А работать хер знает в каких условиях приходится и на каких машинах. Вот у меня сейчас сбой- ничего, разберусь. А с Pascal бы этот номер не прошёл, хоть систему переустанавливай. Он однажды даёт сбой и хоть стой, хоть падай, у меня по крайней мере так было. Не знаешь, на что грешить. А С как рабочая лошадка потихоньку-помаленьк волокёт себе и волокёт.
     
  16. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Значит, это .dcu - скомпилированные файлы юнитов, которые подключать никуда не нужно, это для "внутреннего" дельфийского пользования. Хотя при желании можно и их заюзать.

    Ну в делфе вот можно подключать сторонние obj'и, и сама она может генерить obj'и, но lib'ов же там не надо?


    А как мне статически импортировать функцию из dll, для которой нет lib'а ?
     
  17. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Параметр он всегда просто праметр. Посмотри в объявлении функции, что он из себя представляет. Правда, для этого нужно их различать, небольшие умствеенные усилия прикладывать. Вот утебя функция

    ima_funktsii (сhar * a)

    a это просто параметр. Теперь смотрим, что он из себя представляет- указатель на переменную типа сhar. Ну и ставь вместо него при вызове функции адрес этой переменной. И всё.
     
  18. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Так-то да... Я с Pascal начал потому, что имя как-то благозвучнее.
     
  19. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    def+lib.exe=>lib или implib от Quantum, с omf проще если юзать Borland'овский implib.
     
  20. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    я придумал ассемблер нового поколения, там есть, например:

    2+2 ; результат в eax

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