Я работаю над довольно длинным проектом, который изначально был написан на C на машине с Linux.Мне нужно перенести его на windows, и я пытаюсь использовать компилятор gcc в Cygwin как «самый простой» способ передачи.
Программа изначально была написана давно и прошла через многие руки.Он всегда работал на Linux раньше и не имел проблем.Программа состоит из нескольких частей, большинство из которых прекрасно компилируются и работают как в Linux, так и в Cygwin.Тем не менее, есть одна часть проекта, которая компилируется в Cygwin, но дает ошибку сегментации, прежде чем делать что-либо, насколько я могу судить (такой же код работает в Linux).
Я добавил несколько операторов printf (), чтобы посмотреть, смогу ли я сузить его, но, похоже, он вызывает ошибку сегмента, прежде чем он вообще что-то сделает (т. Е. Мой первый printf () - этопервое после main () {...).Я использовал опцию -Wall с gcc, чтобы попытаться выяснить, есть ли какие-либо «очевидные» предупреждения / ошибки, но не вижу ничего, что выскакивает.В основном это просто предупреждения об ожидаемом «int», когда передается «long int», но они идентичны предупреждениям, которые я получаю при использовании -Wall в Linux.
Есть ли у кого-нибудь предложения о том, какого родавещей, которые я должен искать, пытаясь сделать код совместимым для Cygwin, и / или размышлять о том, что может привести к тому, что код выдает ошибку сегмента еще до того, как начать работу в Cygwin?(Я бы опубликовал некоторый код, но это несколько тысяч строк).
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: Спасибо за предложения.Я прошел через GDB с результатами, показанными ниже.Затем я провел большую часть вчерашнего дня, пробуя MinGW в Linux.Все еще без успеха.Могут ли обе проблемы быть связаны с архитектурой (Sandy Bridge) или ОС (64-битная Windows 7)?Я получаю ошибку сегмента, как только программа загружается - она даже не проходит через главное (...)