#c #cygwin
#c #cygwin
Вопрос:
Итак, я изучаю информатику, и мне нужно повторно загрузить cygwin64 на мой новый ноутбук, который я получаю. Я следую этому руководству по установке cygwin64: https://www3.ntu.edu.sg/home/ehchua/programming/howto/Cygwin_HowTo.html Я использую cygwin для компиляции файлов .cpp и запуска исполняемого файла для отображения на терминале. По какой-то причине я могу скомпилировать, но когда я запускаю созданный файл .exe, он ничего не выводит из моего кода. Имейте в виду, что я использую cygwin для своего старого ноутбука, и он там работает. Я не помню шаги, которые я сделал, чтобы загрузить его и заставить его работать должным образом. Вот пример кода, который я скомпилировал, а затем запустил на своем старом ноутбуке, а теперь на моем новом ноутбуке вместе с кодом:
#include<iostream>
#include<forward_list>
using namespace std;
int count_nodes(forward_list<int> lst, forward_list<int>::iterator it, int cnt = 0){
if(it == lst.end()){
return cnt;
} else {
cnt = cnt 1;
it ;
return count_nodes(lst,it,cnt);
}
}
int main() {
forward_list<int> first;
forward_list<int> second;
forward_list<int> third;
first.assign({1,2,3,4,5,6,7,8,9,10});
second.assign({1,2,3,4,5});
third.assign({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15});
cout << "First Count: " << count_nodes(first,first.begin()) << endl;
cout << "Second Count: " << count_nodes(second,second.begin()) << endl;
cout << "Third Count: " << count_nodes(third,third.begin()) << endl;
}
Итак, мой вопрос в том, что я сделал не так? Что я не загрузил?
Комментарии:
1. Попробуйте добавить .exe в конце? Возможно, новый ноутбук не распознает его.
2. Было бы интересно посмотреть, что произойдет, когда вы запустите программу под gdb.
3. Эй, попробуйте этот эксперимент: выделите текст командной строки, который вы хотите скопировать, нажмите <ctrl><Вставить>. Отредактируйте свой вопрос, а затем вставьте текст в свой вопрос. Это сработало? Я часто выделял командные подсказки Cygwin и вставлял их в другие документы. Интересно, что текст более масштабируемый, чем изображения, и занимает меньше места.
4. Похоже, что вы не используете сборку Cygwin
g
и что у вас есть какая-то установка MinGW на вашем пути. Чтоecho $PATH
показывает и чтоwhich g
показывает? Повторно запустите программу установки Cygwin и убедитесь, что выбран необходимый для сборки пакет.