Здравствуйте , уважаемые форумчане . Возник вопрос следующего содержания . Если пользоваться qeditor ' om из пакета МАСМ 32 , то он работает со своими собственными батниками из папки masm32/bin/ , автоматически настраивая нужную директорию текущей . Соответственно и компил и линковку и запуск настраивать не нужно . Если же в Source Insight 3 . 5 указать батник от пакета МАСМ 32 , то скомпилировать не получится , ассемблер выдаст ошибку A1000 : can ' t open file . Так как SI 3 . 5 вроде как не умеет работать с текущей директорией . ( Вообще компиляция настраивается после плясок с бубном , в свойствах окошка compile file указываю - C:\masm32\bin\assmbl.bat %f , но получается недостаток - объектный файл создается не в текущей папке с ассемблерным сорцом , а в папке проектов . Более того , как дальше работать с объектным файлом я не знаю . ) Хотелось бы спросить , может кто-нибудь пользуется SI 3 . 5 , дайте батничек пожалуйста . В принципе на компиляцию и на линковку разные не нужны ; в идеале - один лучше будет , чтоб нажать build -- и получить сразу и объектный , и ехе - файл . И еще желательно чтобы работать с текущей папкой , т . е . где лежит ассемблерный исходник - там и появлялись объектный , и ехе файлы . И еще не был бы лишним батничек на запуск скомпилированного файла из текущей папки тоже . Спасибо . P . S . Поиском пользовался , смотрел эти темы - http://www.wasm.ru/forum/viewtopic.php?pid=91070 , и http://wasm.ru/forum/viewtopic.php?id=18715 - но в первой немного не то , а из второй я с батником не разобрался , да и ключи там какие - то не те немного , а надо как у пакета МАСМ32 и у Икзелиона .
zxcv А как еще можно компилить , кроме как из среды ? Или каждый раз открывать асм - файл в qeditor ' e и компилять там ? Помогите плиз если знаете , я эти бат - файлы и скрипты не знаю .
давно делал, но всё работало, один файл для консольных прог, а другой для гуёвых: Код (Text): set file=%~n1 set masm_dir=c:\masm32 if exist %file%.rc goto res goto no_res :res %masm_dir%\bin\rc.exe %file%.rc :no_res %masm_dir%\bin\ml.EXE /c /coff /Cp /Zi /Zd /nologo /Fo %file%.obj %file%.asm ;rem pause if exist %file%.def goto compile_dll if exist %file%.res goto res1 %masm_dir%\bin\link.EXE /section:.text,RWE /NOLOGO /SUBSYSTEM:WINDOWS /LIBPATH:%masm_dir%\lib %file%.obj /OUT:%file%.exe START %file%.exe goto no_res1 :res1 %masm_dir%\bin\link.EXE /section:.text,RWE /NOLOGO /SUBSYSTEM:WINDOWS /LIBPATH:%masm_dir%\lib %file%.obj %file%.res /OUT:%file%.exe :no_res1 goto exit :compile_dll rem pause %masm_dir%\bin\link /DLL /section:.text,RWE /SUBSYSTEM:WINDOWS /def:%file%.def /LIBPATH:%masm_dir%\lib %file%.obj del %file%.exp rem del %file%.lib :exit if exist %file%.bat goto gobat goto exit1 :gobat %file%.bat :exit1 pause для консольных: Код (Text): set file=%~n1 set masm_dir=c:\masm32 if exist %file%.rc goto res goto no_res :res %masm_dir%\bin\rc.exe %file%.rc :no_res %masm_dir%\bin\ml.EXE /c /coff /Cp /Zi /Zd /nologo /Fo %file%.obj %file%.asm ;rem pause if exist %file%.def goto compile_dll if exist %file%.res goto res1 %masm_dir%\bin\link.EXE /section:.text,RWE /NOLOGO /SUBSYSTEM:CONSOLE /OPT:NOREF /LIBPATH:%masm_dir%\lib %file%.obj /OUT:%file%.exe START %file%.exe goto no_res1 :res1 %masm_dir%\bin\link.EXE /section:.text,RWE /NOLOGO /SUBSYSTEM:CONSOLE /OPT:NOREF /LIBPATH:%masm_dir%\lib %file%.obj %file%.res /OUT:%file%.exe :no_res1 goto exit :compile_dll rem pause %masm_dir%\bin\link /DLL /section:.text,RWE /SUBSYSTEM:CONSOLE /OPT:NOREF /def:%file%.def /LIBPATH:%masm_dir%\lib %file%.obj del %file%.exp rem del %file%.lib :exit if exist %file%.bat goto gobat goto exit1 :gobat %file%.bat :exit1 pause
bizdon Увы , не работает ваш вариант , выдает следующее : Код (Text): C:\SI Projects\Projects\232323>set file= C:\SI Projects\Projects\232323>set masm_dir=c:\masm32 C:\SI Projects\Projects\232323>if exist .rc goto res C:\SI Projects\Projects\232323>goto no_res C:\SI Projects\Projects\232323>c:\masm32\bin\ml.EXE /c /coff /Cp /Zi /Zd /nologo /Fo .obj .asm Assembling: .asm MASM : fatal error A1000: cannot open file : .asm C:\SI Projects\Projects\232323>rem pause C:\SI Projects\Projects\232323>if exist .def goto compile_dll C:\SI Projects\Projects\232323>if exist .res goto res1 C:\SI Projects\Projects\232323>c:\masm32\bin\link.EXE /section:.text,RWE /NOLOGO /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib .obj /OUT:.exe LINK : fatal error LNK1181: cannot open input file ".obj" C:\SI Projects\Projects\232323>START .exe ¥ 㤠¥âáï ©â¨ ä ©« .exe. C:\SI Projects\Projects\232323>goto no_res1 C:\SI Projects\Projects\232323>goto exit C:\SI Projects\Projects\232323>if exist .bat goto gobat C:\SI Projects\Projects\232323>goto exit1 C:\SI Projects\Projects\232323>pause В общем не находит он файл исходный , а из-за этого и остальное не робит .
Непонятно вообще что делать - в SI настроек таковых нету , батники ни один не подходят , все одно и то же - fatal error A1000 : cannot open file : . asm . Печаль . Вообще такое ощущение что на васме программистов не осталось , а кто остались - те сидят в хиппе . : - ) .
Valid01 ??? какая среда?! да еще и для асма? СИ - это мощный, супермощный, может самый мощный, но редактор-навигатор исходников. в нем есть возможности по скриптованию, но зачем они для компиляции? в консоли куда как удобнее и информативнее вы еще дебугер туда влепите, ибо как же чтоб не в одном окошке?
zxcv Си неплох и как иде , не так ли ? Впрочем , можете посоветовать нормальный редактор кода ? Чтоб легко настраивалась компил и запуск , и отладка файла и т . п . , нормальная подсветка и прочее и прочее .
иде - объединенная среда разработки. СИ даже близко не иде. в нем нет ни компиляторов, ни дебугеров. его проекты не имеют ни одной опции касающейся компиляции или отладки. да и зачем они, если разобраться в редакторе-навигаторе по сорцам? ни разу не чувствовал необходимости, хотя СИ юзаю и под линью самый нормальный редактор кода как раз таки СИ (для питонов-пхп есть специализованные) компиляция и запуск - не функции редакторов кода. ищите их в иде, хотя как редакторы они менее удобны. посоветовать не могу, тк не использую интегрированные решения. разве только частями