Size: a a a

2021 March 03

AS

Anatoly Shirokov in supapro.cxx
Или ты клиентам не поставляешь header?
источник

I

Ilya in supapro.cxx
Anatoly Shirokov
Тебе в хедере нужно переключать объявление для клиента (dllimport), и для реализации (dllexport)
окей, для этого #IFDEF пропишу,меня интересует можно ли таким образом поступать
источник

I

Ilya in supapro.cxx
Anatoly Shirokov
Или ты клиентам не поставляешь header?
пока не знаю) На всякий случай пропишу ифку
источник

DP

Denis Paukaev in supapro.cxx
если у тебя dll ничего не экспортирует, то ей не нужен хедер и прочие dllexport
источник

DP

Denis Paukaev in supapro.cxx
а если экспортирует, но конвенция вызова должна быть в хедере, иначе как клиент поймёт через какие регистры/стек ему что передавать
источник

V

VlaDick in supapro.cxx
ребят всем привет, вопрос: вот у меня есть двумерный массив и нужно первый столбец поменять со столбцом, который имеет минимальную сумму отрицательных элементов. как можно сделать так, что бы для каждого столбца не создавать отдельную переменную в которую вписывать сумму отрицательных элементов и как их потом адекватно сравнить не используя 300 проверок?🥺🥺🥺
источник

DP

Denis Paukaev in supapro.cxx
VlaDick
ребят всем привет, вопрос: вот у меня есть двумерный массив и нужно первый столбец поменять со столбцом, который имеет минимальную сумму отрицательных элементов. как можно сделать так, что бы для каждого столбца не создавать отдельную переменную в которую вписывать сумму отрицательных элементов и как их потом адекватно сравнить не используя 300 проверок?🥺🥺🥺
заведи две переменных, с номером столбца и суммой, потом для каждого столбца по очереди считаешь его промежуточную сумму, и если она на данный момент минимальна, то обновляешь номер, и сумму
источник

V

VlaDick in supapro.cxx
хороший совет, спасибо)
источник

AS

Anatoly Shirokov in supapro.cxx
Ilya
окей, для этого #IFDEF пропишу,меня интересует можно ли таким образом поступать
у тебя должно быть согласовано объявление с определением
источник

I

Ilya in supapro.cxx
Anatoly Shirokov
у тебя должно быть согласовано объявление с определением
можешь пояснить? Не совсем понял
источник

AW

Alex Wortega in supapro.cxx
https://pastebin.com/pJ2QJiPf
Товарищи а где в 4 строке missing separation?
источник

SK

Stas Koynov in supapro.cxx
в начале у тебя ТАБ? или пробелы?
источник

AW

Alex Wortega in supapro.cxx
Stas Koynov
в начале у тебя ТАБ? или пробелы?
Таб
источник

AS

Anatoly Shirokov in supapro.cxx
Ilya
можешь пояснить? Не совсем понял
если в заголовке у тебя будет
int foo(int);

и включить этот заголовок в C++ файл, то это foo будет иметь extern "C++" linkage
но если при этом ты в cpp файле определишь:
extern "C" {
 int foo(int) {
 }
}

это будет не совпадать с определением в заголовочном файле
источник

AS

Anatoly Shirokov in supapro.cxx
поэтому объявление и определение должны быть согласованы
источник

I

Ilya in supapro.cxx
Anatoly Shirokov
поэтому объявление и определение должны быть согласованы
а мог бы привести пример согласованного опеределения?
источник

AS

Anatoly Shirokov in supapro.cxx
Ilya
а мог бы привести пример согласованного опеределения?
extern "C" int foo(int); в заголовке
источник

I

Ilya in supapro.cxx
Anatoly Shirokov
extern "C" int foo(int); в заголовке
каким образом поступить, если я хочу экспортировать таким образом?

extern "C" void __declspec(dllexport) __stdcall  FOO()
{
 PoseEstimator.foo();
}
источник

I

Ilya in supapro.cxx
здесь определение ф-ии foo находится в другом файле, в нем не присутствует директив препроцессора
источник

AS

Anatoly Shirokov in supapro.cxx
Ilya
каким образом поступить, если я хочу экспортировать таким образом?

extern "C" void __declspec(dllexport) __stdcall  FOO()
{
 PoseEstimator.foo();
}
не ипать мозг мне, а корректно сделать дефайн в header-e с определением корректной конвенции
источник