Последний раз редактировалось SAM style; 28.06.2014 в 17:07.
Все любят гипножабу
SAM style, я посмотрел и придерживаюсь старой точки зрения. Если все библиотеки лежат в "include\...", логично что ты все библиотеки так именно и включаешь. Си имеет систему дополнительных папок, типа lib, которые прибиты гвоздями, сорри, считаются по относительным путям от экзешника. По идее, такие доп. пути сделали бы то, что тебе хочется.
Чтобы чётче прозвучало: я очень люблю проекты со 100500 файлами разбросанными по папкам, т.е. я очень активно использую и include, и incbin. Но то, что тебе хочется сделать, кажется мне актуальным только если гонять файлы из папки в папку. Обычно мне не хочется это сделать. Ты уверен, что ты именно что хочешь это сделать?
"introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.
Я не очень люблю кучу файлов, а ещё больше не люблю, когда в огромных файлах каша из тонн кода и данных. Но проект разбух до такой степени, что неизбежно появится либо одно, либо другое.
Если сравнивать с Си, то Сджасмовские инклюды куда ближе к #include "file", чем к #include <file>. В первом случае никаких дополнительных путей не надо - путь у файлу рассчитывается относительно директории файла, из которого он подключен. Внезапно подумалось, что и здесь действует такой же подход, а нет...
Все любят гипножабу
introspec, а ты можешь припомнить другие тулзы, обрабатывающие инклюды относительно не текущего файла, а относительно текущей директории?
"introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.
Нет. Это свойство процесса.
http://linux.die.net/man/3/getcwd
В с/с++ правила несколько сложнее.
http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
http://msdn.microsoft.com/ru-ru/library/36k2cdd4.aspxGCC looks for headers requested with #include "file" first in the directory containing the current file, then in the directories as specified by -iquote options, then in the same places it would have looked for a header requested with angle brackets. For example, if /usr/include/sys/stat.h contains #include "types.h", GCC looks for types.h first in /usr/include/sys, then in its usual search path.
Как видно, "текущий каталог процесса" тут никоим боком не присутствует, зато присутствует путь текущего файла.Препроцессор ищет включаемые файлы в следующем порядке:
В том же каталоге, где находится файл с оператором #include.
В каталогах открытых в данный момент включаемых файлов (в порядке, обратном тому, в котором они открывались). Поиск начинается в каталоге родительского включаемого файла, а затем выполняется в каталогах всех включаемых файлов-прародителей.
По путям, заданным всеми параметрами компилятора /I.
По путям, заданным в переменной среды INCLUDE.
"introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.
Подскажите, можно ли создать новую метку в макросе ?
что-то типа такого (это перебежал в PASM)
получаем такоеКод:macro xx, nn,hh,value fn_ ## nn ## _h ## hh ## _i0: ld a,value jp do_fill fn_ ## nn ## _h ## hh ## _i1: ld a,value XOR 0xff jp do_fill endm do_fill: xx '1','0',11110000b xx '2','0',01111000b xx '3','0',00111100b xx '4','0',00011110b xx '5','0',00001111b
т.е конструируем имя теки из параметров.Код:do_fill EQU 00000H fn_1_h0_i0 EQU 00000H fn_1_h0_i1 EQU 00005H fn_2_h0_i0 EQU 0000AH fn_2_h0_i1 EQU 0000FH fn_3_h0_i0 EQU 00014H fn_3_h0_i1 EQU 00019H fn_4_h0_i0 EQU 0001EH fn_4_h0_i1 EQU 00023H fn_5_h0_i0 EQU 00028H fn_5_h0_i1 EQU 0002DH
такое еще m80 81года рождения умел.
---------- Post added at 16:37 ---------- Previous post was at 16:36 ----------
и заодно, можно ли в LUA скрипт параметр передать (типа как луа как макрос с параметром)
примеров в доке ЖУТКО не хватает.
спасибо, а вызывать как ?
пример бы
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)