172 похожих чатов

У меня есть функция header.c: void nameFunc(struct structName *struct_name) Как мне использовать это

в swift?

9 ответов

6 просмотров
Mark-Esaian Автор вопроса

Какие?

Mark-Esaian Автор вопроса

???

Mark Esaian
???

Насколько я помню в Свифт напрямую нельзя было затащить Си и Си++ Надо было кидать обёртки через Objc и Objc++ соответственно Лично это делал, так, что всё можно, просто это будет как минимум запарно

Создать Bridging Header. Импортнуть там твой .h файл и начать работать. Интероп происходит по следующим правилам: https://github.com/apple/swift/blob/main/docs/HowSwiftImportsCAPIs.md

Mark-Esaian Автор вопроса
Антон Чехов
Насколько я помню в Свифт напрямую нельзя было зат...

у меня без обертки получалось вернуть "hello world")

Mark-Esaian Автор вопроса
Руслан Лутфуллин
Создать Bridging Header. Импортнуть там твой .h фа...

можно же без этого? library.h: #ifndef HELLOWORLD_LIBRARY_H #define HELLOWORLD_LIBRARY_H char* hello(); #endif //HELLOWORLD_LIBRARY_H library.cpp: #include "library.h" char* hello() { return "Hello World!"; } Я вот это в swift отлично использовал без оберток

Mark Esaian
у меня без обертки получалось вернуть "hello world...

Это значит, что свифт уже умеет в совместимость Я это делал около 4-х лет назад Тогда такого способа совсем не было

Mark Esaian
можно же без этого? library.h: #ifndef HELLOWORL...

Я не говорю ни про какую обёртку. Нужно лишь создать Bridging Header и импортнуть в нём library.h После этого Swift сгенерит интерфейс и можно будет пользоваться.

Mark-Esaian Автор вопроса
Антон Чехов
Это значит, что свифт уже умеет в совместимость Я ...

это очень крутые новости) Правда в интернете полно старых статей про Obj-C решение Нашел решение без оберток С++/С -> swfit наткнувшись на статью по rust->swift)

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
52
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Карта сайта