PDA

Просмотр полной версии : [Вопрос] Sublime Text 3 || Вопрос по поиску Компилятора и Include



Jake_Bat
08.04.2019, 19:14
Здравствуйте.
Вопрос такой. Есть некий урок, по синтаксису и компилированию в Sublime text 3 || Pawn by DemioS
Так вот, вопрос, что мне надо вот тут изменить, в самом setting's чтобы удовлетворяло моему вот этому условию?
УСЛОВИЕ:
"Надо, чтобы при компиляции мода, который находится в папке где угодно допустим вот тут C:/mode вызывался компилятор сам, exe, из папки C:\compiler\pawncc.exe (Это точный путь, только по нему)
А библиотеки из папки C:/mode/pawno/include то есть что-то такое $путь_к_моду/pawno/include"

{
"cmd":
[
"$file_path\\..\\pawno\\pawncc.exe",
"$file",
"-o$file_path\\\\$file_base_name",
"-;+",
"-(+",
"-R",
"-d3",
"-O1"
],
"file_regex": "(.*?)[(]([0-9]*)[)]",
"selector": "source.pwn"
}

DeimoS
08.04.2019, 19:23
{
"cmd":
[
"C:\\compiler\\pawncc.exe",
"-i$file_path\\..\\pawno\\include",
"$file",
"-o$file_path\\\\$file_base_name",
"-;+",
"-(+",
"-R",
"-d3",
"-O1"
],
"file_regex": "(.*?)[(]([0-9]*)[)]",
"selector": "source.pwn"
}

Тут применим весь список опций, доступен компилятору:

Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

Usage: pawncc <filename> [filename...] [options]

Options:
-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=+)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d<num> debugging level (default=-d1)
0 no symbolic information, no run-time checks
1 run-time checks, no symbolic information
2 full debug information and dynamic checking
3 same as -d2, but implies -O0
-e<name> set name of error file (quiet compile)
-H<hwnd> window handle to send a notification message on finish
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of (P-code) output file
-O<num> optimization level (default=-O1)
0 no optimization
1 JIT-compatible optimizations only
2 full optimizations
-p<name> set name of "prefix" file
-r[name] write cross reference report to console or to specified file
-S<num> stack/heap size in cells (default=4096)
-s<num> skip lines from the input file
-t<num> TAB indent size (in character positions, default=8)
-v<num> verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
-w<num> disable a specific warning by its number
-X<num> abstract machine size limit in bytes
-XD<num> abstract machine data/stack size limit in bytes
-\ use '\' for escape characters
-^ use '^' for escape characters
-;[+/-] require a semicolon to end each statement (default=-)
-([+/-] require parantheses for function invocation (default=-)
sym=val define constant "sym" with value "val"
sym= define constant "sym" with value 0

Options may start with a dash or a slash; the options "-d0" and "/d0" are
equivalent.

Options with a value may optionally separate the value from the option letter
with a colon (":") or an equal sign ("="). That is, the options "-d0", "-d=0"
and "-d:0" are all equivalent.
Каждая опция - отдельные кавычки

Jake_Bat
08.04.2019, 19:45
Оу, спасибо тебе :3
Как же долго я пытался понять что к чему
И да, ПРОШУ расскажи где об этом можно почитать, об этих сеттингах?
Чтобы научиться самому все это делать
-----------
Насчет применения всех опций с ними еще нужны манипуляции или выше кода достаточно?
-----------


{
"cmd":
[

"C:\\yyy\\pawncc.exe",
"-i\\$file_path\\..\\pawno\\include",
"$file",
"-o$file_path\\\\$file_base_name",
"-;+",
"-(+",
"-R",
"-d3",
"-O1"
],
"file_regex": "(.*?)[(]([0-9]*)[)]",
"selector": "source.pwn"
}
Так работает, все верно я настроил?

DeimoS
08.04.2019, 20:11
Ну так я и дал список всех опций, чтоб можно было почитать о том, что за что отвечает. Расписывать не нужно, работать будет и так.
О создании систем сборки можешь прочитать тут (https://www.sublimetext.com/docs/3/build_systems.html).

Если вкратце, то команда "cmd" говорит редактору запускать файл.
Файл указывается следующим в кавычках. После него указываются аргументы, которые нужно передать при запуске файла (точно так же, как, например, при запуске файла из командной строки Windows).

То бишь, синтаксис такой:

{
"cmd": ["путь_до_файла\Имя_файла.exe", "аргумент_1", "аргумент_2", "аргумент_N", "..."]
}

Таким образом можно любые файлы запускать.
Например, запуск панели управления будет выглядеть как-то так =)

{
"cmd":
[
"C:\\Windows\\System32\\control.exe"
]
}
А так можно запустить вкладку "Администрирование" в панели управления =)

{
"cmd":
[
"C:\\Windows\\System32\\control.exe",
"admintools"
]
}


А вот так можно настроить запуск сампа на кнопку

{
"cmd":
[
"D:\\Games\\GTA San Andreas\\samp.exe"
]
}
В общем, суть примеров в том, что так можно любое нужное приложение запускать, даже не относящееся к компиляции. Хоть игру =)

- - - Добавлено - - -





{
"cmd":
[

"C:\\yyy\\pawncc.exe",
"-i\\$file_path\\..\\pawno\\include",
"$file",
"-o$file_path\\\\$file_base_name",
"-;+",
"-(+",
"-R",
"-d3",
"-O1"
],
"file_regex": "(.*?)[(]([0-9]*)[)]",
"selector": "source.pwn"
}
Так работает, все верно я настроил?

Да, верно

Jake_Bat
08.04.2019, 21:09
Самый лучший! Спасибо, это именно то, что я искал.
Спасибо, спасибо! Как же я долго сидел и не мог сделать это.
Я в восторге! :hi::hi::hi: