ФлеймФорумПрограммирование

Общие вопросы по программированию (1314 стр)

Страницы: 11311 1312 1313 1314 1315 1316 Следующая »
#19695
4:51, 7 ноя 2025

nes
> Я хотел не либу а сорцы подключать.
в след. раз придумай путь по оригинальней, а то lib может уже не прокатить и догадаются. Что касается твоего запроса, то должно работать.

#19696
4:59, 7 ноя 2025

nes
> // где-то в настройках компулятира:
> #define SUPER_LIB_DIR "d:/dev/libs/superlib/"
>
> // где-то в сырцах:
> #include SUPER_LIB_DIR "common/data_reader.h"

Так стандартный C-way это прописать в настройках компилятора путь до d:/dev/libs, а в иклюде писать "superlib/common/data_reader.h".
Почему не хочется так же сделать?
#include "GL/gl.h"
#include "SDL/SDL.h"
База.

#19697
9:47, 7 ноя 2025

nes
> Можно ли как-то добиться такого поведения в крестах?

Если в тексте подряд два строковых литерала

"qwer" "asdf"

то компилятор должен это воспринимать как конкатенацию, то есть как

"qwerasdf"

Так что если ты в настройках определишь символ SUPER_LIB_DIR именно как строковой литерал, то есть вместе с кавычками, то в тексте

SUPER_LIB_DIR "common/data_reader.h"

должно восприниматься как конкатенированный литерал

"d:/dev/libs/superlib/common/data_reader.h"

Если не хочется определять символ с кавычками, то можно воспользоваться макросовским оператором #, который превращает параметр макроса в строковой литерал

#19698
10:33, 7 ноя 2025

https://gcc.gnu.org/onlinedocs/cpp/Computed-Includes.html

#19699
12:02, 7 ноя 2025

  Как по современному и быстро определять соседние узлы кубосфере разбиваемой по квадродереву?Внутри одного дерева где все узлы ориентированны одинаково по отношению к соседям это просто, непросто когда у нас 6 граней куба и нам надо определять соседей на разных гранях. Интуиция подсказываем наследовать соседей от вершины дерева и далее добавлять разбиения не предках, но таким образом мы может передавать только информацию о грани потенциального соседа потомка, но я не могу пока определить какой из двух узлов принадлежащих грани является соседом конкретного исследуемого узла. Кто нибудь может подсказать?
  Хочу сделать нормальные швы на границах узлов разного уровня на ландшафтах планет, а то юбки отстой.

#19700
(Правка: 12:29) 12:26, 7 ноя 2025

Ой блин, да просто хранить не одну грань соседа, а две грани его потенциальных потомков, элементарно же
Но если будут другие предложения звоните

#19701
12:38, 7 ноя 2025

Plutonium

https://stackoverflow.com/questions/74855246/how-to-arrange-faces… ghbour-lookup

#19702
12:44, 7 ноя 2025

Ghost2
Хаха спасибо, это как раз то решение к которому я пришёл постом выше, оно видимо самое очевидное

#19703
(Правка: 14:10) 13:40, 7 ноя 2025

Ghost2
> https://gcc.gnu
> https://stackoverflow
аж олдскулы свело

#19704
17:06, 9 ноя 2025

Dmitry_Milk
Это первое что я попробовал, не работает, по крайней мере в Visual Studio.

Ghost2
Не работает, по крайней мере в Visual Studio.

#19705
(Правка: 20:35) 19:31, 9 ноя 2025

Чатбот, помоги nes

#include <cstdio>

#define INCLUDE_FILE(path, file) <path/file>
#define MY_LIB_DIR d:/!temp
#include INCLUDE_FILE(MY_LIB_DIR,foo/bar.hpp)

int main() {
    printf("%d\n", asd);
}

У меня работает на всех компиляторах.

#19706
19:39, 9 ноя 2025

nes
> не работает

#define STRINGIFY(s) #s

#define CAT_PATH(path1, path2) STRINGIFY(path1/path2)

#define SUPERLIB(path) CAT_PATH(SUPER_LIB_DIR, path)
#include SUPERLIB(common/data_reader.h)

Только SUPER_LIB_DIR надо определять без кавычек

#19707
19:40, 9 ноя 2025

entryway
> INCLUDE_FILE

Вот, блин, я велосипедист :) ПРичем слово "велосипедист" - это краткое прилагательное с ударением на второе "е" :)

#19708
(Правка: 20:53) 20:15, 9 ноя 2025

Dmitry_Milk
> > INCLUDE_FILE
> Вот, блин, я велосипедист
Обнаружил нюанс: в msvc и clang это работает

#include INCLUDE_FILE(MY_LIB_DIR, foo/bar.hpp)

А gcc хавает только без пробела после запятой

#include INCLUDE_FILE(MY_LIB_DIR,foo/bar.hpp)

Если обернуть STRINGIFY, то работает везде.

#define MY_LIB_DIR d:/!temp

#define STRINGIFY(s) #s
#define INCLUDE_FILE(path, file) STRINGIFY(path/file)

#include INCLUDE_FILE(MY_LIB_DIR, foo/bar.hpp)
#19709
21:00, 9 ноя 2025

Спасибо, но я хотел примерно так:
#include LIB_PATH "Common/Types.h"

А без ковычек оно выглядит стремно )

Страницы: 11311 1312 1313 1314 1315 1316 Следующая »
ФлеймФорумПрограммирование