fasm мелкий вопрос

Тема в разделе "WASM.BEGINNERS", создана пользователем common_up, 11 дек 2010.

  1. common_up

    common_up New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2010
    Сообщения:
    85
    Здравствуйте, есть мелкий вопрос. Пишу на работе и дома. Дома 7, на работе хр. Под каждую ОС выделены папки типа INCLUDE_OTHER/win7 INCLUDE_OTHER/winxp
    в этих папках структура одинакова. т.е api, equates etc. Для каждой ОС сгенерены API инклюды.
    На работе и дома приходится вручную прогонять сорсы и менять инклюды с winxp на win7, чтобы приатаччились соответствующие инклюды нужной ОС. Так же приходится заходить в INCLUDE/WIN32A.INC и тоже внутри реплейсить данные. Вопрос: как бы Вы в таком случае автоматизировали в сорсах переход с одной ОС на другую ? Было бы интересно заходить в сорс. Менять в нем некоторую переменную и продолжать кодить дальше, а не заниматься ерундой типа реплейсов и тд
     
  2. newbie

    newbie New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2008
    Сообщения:
    1.246
    поставить на работе вин7 и не заниматься фигнёй. хп мёртв
     
  3. common_up

    common_up New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2010
    Сообщения:
    85
    компания не закупает еще вин7. Так что этот вариант - не вариант.
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Переменную окружения fasminc из ini-файла юзаешь? Таким же образом можно и свои переменные добавить, и использовать их в инклюдах вместо явного указания путей\имен
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    common_up
    В общем-то можно даже и не использовать явно какие-либо переменные окружения, т.к. компилятор неявно использует переменную с именем include, что позволяет писать прямо include 'win32a.inc' без упоминания каких-то ещё переменных. Поэтому всё зависит только от того, каким IDE Вы пользуетесь. Если это родная IDE fasm (fasmw), то надо на системе с XP в fasmw.ini вписать что-то в духе:
    Код (Text):
    1. [Environment]
    2. Include = C:\FASMW\winxp\include;D:\MySuperIncludesForXP\Fasm;D:\NotMySuperIncludesForXP\Fasm
    А на системе с Win7 вписать соответственно:
    Код (Text):
    1. [Environment]
    2. Include = C:\FASMW\win7\include;D:\MySuperIncludesForWin7\Fasm;D:\NotMySuperIncludesForWin7\Fasm
    Если же это, например, Notepad++, то можно сделать себе несколько пунктов меню с помощью плагина NppExec (можно и hotkeys поназначать) со скриптами следующего содержания:
    Compile For WinXP
    Код (Text):
    1. NPP_SAVE
    2. ENV_SET Include = C:\FASMW\winxp\include;D:\MySuperIncludesForXP\Fasm;D:\NotMySuperIncludesForXP\Fasm
    3. C:\FASMW\fasm.exe "$(FULL_CURRENT_PATH)"
    И аналогично Compile For Win7.
     
  6. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    common_up
    или я делаю так