В основном при компиляции функций C с компилятором C++, он искажает имена функций и использует ABI C++.
при использовании *.cpp или *.mm расширения Вы используете компилятор C++.
то, Что Вы хотите сделать, вынудить компилятор генерировать функции C с именами неискажений и использованием ABI C.
можно сделать это также:
фаворит А способ настроить заголовочный файл, так, чтобы тот же файл мог быть включен и от C и от исходных файлов C++:
#ifndef HEADER_GUARD_1_H
#define HEADER_GUARD_1_H
#ifdef __cplusplus
extern "C" {
#endif
// Declare C function interface here.
int myFunc(int x,char*);
#ifdef __cplusplus
}
#endif
#endif
Невозможно получить его через fetch или около того, ссылка на зеркало fetch = + refs / *: refs / *
, и хотя тайник равен refs / stash
, он не отправляется. Явное указание refs / stash: refs / stash
тоже не имеет никакого эффекта!
В любом случае это только сбивает с толку, поскольку при этом будут извлечены не все тайники, а только последний; список тайников - это журнал ссылок ссылки ссылок / тайников
.
Я бы выбрал второй подход, хотя не знаю, почему вы не можете зафиксировать его в ветке master / Feature. Можно и собирать вишню.
Я немного опоздал на вечеринку, но думаю, что нашел кое-что, что работает для меня в этом отношении, и это может быть и для вас, если ваши обстоятельства такой же или похожий.
Я работаю над функцией в отдельной ветке. Ветка не объединяется с мастером и не отправляется до тех пор, пока не будет завершена или пока я не совершу коммитов, которые мне удобно показывать публике. Итак, что я делаю, когда хочу перенести неэтапные изменения на другой компьютер:
[non-commit] ТОЛЬКО ДЛЯ ПЕРЕДАЧИ
"с содержанием, которое вы хотите передать. Затем выполните:
git pull ssh + git: //
URL-адрес может отличаться для вас, если вы входите в свой репозиторий в по-другому. Это перенесет изменения из этого URL-адреса из удаленной ветви «rb» в локальную ветвь «lb».Обратите внимание, что у меня есть ssh-сервер, работающий на моем собственном компьютере, и я могу получить доступ к репозиторию таким образом.
git reset HEAD ^
(подразумевает - смешанный
)
Это сбрасывает HEAD, чтобы он указывал на состояние перед фиксацией «[non-commit]».
Из git-reset (1):
" - смешанный
: сбрасывает индекс, но не рабочее дерево (т. Е. Измененные файлы сохраняются, но не помечаются для фиксации) [ ...] "
Таким образом, в конечном итоге у вас будут свои изменения в файлах, но никаких коммитов в мастеринг не делается, и нет необходимости в тайнике.
Это, однако, потребует от вас git reset --hard HEAD ^
в репозитории, в котором вы сделали «[non-commit]», поскольку эта фиксация является мусором.