|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
Ссылка на неразрешенный внешний символ __divti3 (при делении __int128)09.03.2019, 00:22. Показов 2839. Ответов 21
Метки нет (Все метки)
error LNK2019: ссылка на неразрешенный внешний символ __divti3 в функции main.Как можно это исправить?
0
|
||||||
| 09.03.2019, 00:22 | |
|
Ответы с готовыми решениями:
21
Ссылка на неразрешенный внешний символ Ошибка LNK 2019: ссылка на неразрешенный внешний символ Блокировка кнопки PrtScr: "ссылка на неразрешенный внешний символ _main" |
|
|
||
| 09.03.2019, 19:55 | ||
|
а в чём сложность сделать ассемблерную вставку и использовать в ней соответствующие регистры?
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 09.03.2019, 19:59 [ТС] | ||
|
Проблема, например, кроссплатформенность. В ARM x64, вероятно, тоже есть __int128. Может, ещё где-то. Плюс параметры по-разному передаются в Windows и Linux (хотя это мелочи). Ну и т.д. Можно интринсики использовать, как вариант. Только я их не могу найти тоже для умножения (64*64=128 бит) и деления (128/64=64 бита). Но и с проблемой __divti3 / __udivti3 хочу всё равно разобраться...
0
|
||
|
Мозгоправ
|
|
| 09.03.2019, 20:43 | |
|
Онлайн-компилятор https://rextester.com кушает вашу программу без проблем.
Подозреваю, что не хватвет либо какого-то дефайна, либо ключа компиляции, либо библиотеки. Почитайте доки на ваш компилятор и стандартную библиотеку.
0
|
|
|
|
||
| 09.03.2019, 20:56 | ||
|
Попробовал на своей машине на clang'е - он цепляет библиотеку libgcc. Т.е. библиотеку поддержки gcc. И в этом смысле поставка clang получается неполноценная, т.к. зависит от чужой библиотеки. Я в clang'е плохо разбираюсь, но подозреваю, что в случае ТС речь идёт о какой-то неполноценной поставке clang'а. Либо, если clang по определению должен использовать библиотеки от gcc, то речь идёт о том, что поставка clang'а сделана поверх поставки gcc, в которой, например, отсутствует поддержка __int128 Jin X, на этой же самой машине gcc такой код ест?
2
|
||
|
|
|||
| 10.03.2019, 13:06 | |||
|
Добавлено через 1 час 1 минуту И ещё опцию -Wl,-t (тут всё слитно, включая запятую)
1
|
|||
|
|
|
| 10.03.2019, 17:07 | |
|
А... у тебя под винду. Тут ничего не могу сказать. Скорее всего линковка идёт с родными виндовсовскими библиотеками. Очевидно, что там libgcc отсутствует
Как вариант собери gcc в 64-разрядном режиме под линукс. Дальше выдели в сборке то место, где собирается модуль с функцией __divti3, получи его препроцессор, очисти от мусора и включи к себе в проект
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||
| 10.03.2019, 17:13 [ТС] | ||||||||
|
Похожая история с интринсиком
__umulh в GCC:
g++ -m64 -s -O2 -Wl,-t -v 2.cpp -o 2.exe
Хотя шланг нормально компилит. Вот ёлы-палы!
0
|
||||||||
|
|
|
| 10.03.2019, 17:18 | |
|
Есть готовый препроцессированный исходник, но не под интел, но little endian и в режиме 64. В теории разницы не должно быть никакой, т.к. в этом месте нет машинно-зависимых фич. Попробуй для начала его, если лень возиться со сборкой gcc
Исходник данного модуля тут: https://github.com/gcc-mirror/... /libgcc2.c Функция в нём называется __divdi3, но в каком-то из хидеров через макрос оно переопределится в __divti3. В этом же файле можно выудить недостающий массив __clz_tab
0
|
|
|
|
||
| 10.03.2019, 17:25 | ||
|
Вообще gcc и clang под винду - это изначально какая-то сложнопросекаемая хрень, так что многим вещам удивляться не следует Добавлено через 2 минуты __umulh, судя по описанию, можно будет заменить на это: C uint64 __umulh(uint64 a, uint64 b) { __uint128 aa = a; __uint128 bb = b; __uint128 cc = a * b; return (uint64)(cc >> 64); }
1
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||
| 10.03.2019, 20:43 [ТС] | ||||
|
Добавлено через 9 минут Интересно вообще, отчего такой косяк может быть? У других людей спрашиваю – у них всё ок. На tio.run пробую – тоже.
0
|
||||
|
|
|||||
| 10.03.2019, 21:09 | |||||
|
1
|
|||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||
| 11.03.2019, 00:18 [ТС] | |||||
|
0
|
|||||
|
|
||||||
| 11.03.2019, 09:50 | ||||||
|
В каком каталоге он находится? Если в каком-нибудь "стандартном" виндозовом или msvc'ном, то это хидер микрософтовский adxintrin.h ammintrin.h avx2intrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h avx512bwintrin.h avx512cdintrin.h avx512dqintrin.h avx512erintrin.h avx512fintrin.h avx512ifmaintrin.h avx512ifmavlintrin.h avx512pfintrin.h avx512vbmiintrin.h avx512vbmivlintrin.h avx512vlbwintrin.h avx512vldqintrin.h avx512vlintrin.h avx512vpopcntdqintrin.h avxintrin.h bmi2intrin.h bmiintrin.h bmmintrin.h clflushoptintrin.h clwbintrin.h clzerointrin.h emmintrin.h f16cintrin.h fma4intrin.h fmaintrin.h fxsrintrin.h ia32intrin.h immintrin.h lwpintrin.h lzcntintrin.h mmintrin.h mwaitxintrin.h nmmintrin.h pkuintrin.h pmmintrin.h popcntintrin.h prfchwintrin.h rdseedintrin.h rtmintrin.h sgxintrin.h shaintrin.h smmintrin.h tbmintrin.h tmmintrin.h wmmintrin.h x86intrin.h xmmintrin.h xopintrin.h xsavecintrin.h xsaveintrin.h xsaveoptintrin.h xsavesintrin.h xtestintrin.h Совсем не удивлюсь, если выяснится, что в виндовой поставке они тоже есть. С точностью до разницы в версиях gcc (от версии к версии они могли что-то менять)
1
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||
| 11.03.2019, 10:44 [ТС] | ||||||||||
|
Добавлено через 3 минуты
0
|
||||||||||
|
|
|||
| 11.03.2019, 11:55 | |||
|
0
|
|||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 11.03.2019, 14:22 [ТС] | ||
|
Добавлено через 18 секунд Но я гляну, что там в архиве
0
|
||
|
|
||
| 11.03.2019, 15:40 | ||
|
0
|
||
| 11.03.2019, 15:40 | |
|
Помогаю со студенческими работами здесь
20
Неразрешенный внешний символ "__imp__closesocket@4 Статическая структура в классе: Неразрешенный внешний символ Неразрешенный внешний символ "_calloc_dbg" Ссылка на неразрешенный внешний символ Ссылка на неразрешенный внешний символ _WTSQuerySessionInformationW@20 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|