Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.
Например, ниже - класс ученика, который будет использовать его в нашем коде.
public class Student {
private int id;
public int getId() {
return this.id;
}
public setId(int newId) {
this.id = newId;
}
}
Приведенный ниже код дает вам исключение с нулевым указателем.
public class School {
Student obj_Student;
public School() {
try {
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Поскольку вы используете Obj_Student
, но вы забыли инициализировать его, как в правильном коде, показанном ниже:
public class School {
Student obj_Student;
public School() {
try {
obj_Student = new Student();
obj_Student.setId(12);
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Основы не являются слишком трудными:
sudo apt-get install mingw32
cat > main.c <<EOF
int main()
{
printf("Hello, World!");
}
EOF
i586-mingw32msvc-cc main.c -o hello.exe
Замена apt-get
с yum
, или безотносительно Вашего использования дистрибутива Linux. Это генерирует hello.exe
для Windows.
, Как только Вы получаете голову, вокруг которой, Вы могли использовать автоинструменты , и устанавливают CC=i586-mingw32msvc-cc
CC=i586-mingw32msvc-cc ./configure && make
Или используют CMake и файл набора инструментальных средств для управления сборкой. Более трудный все еще добавляет собственные перекрестные библиотеки. Обычно они хранятся в /usr/cross/i586-mingw32msvc/{include,lib}
, и необходимо было бы включить те пути отдельно на настраивать шаге процесса сборки.
Это зависит от того, что Вы имеете в виду (я не мог действительно сказать).
, Если Вы подразумеваете, что хотите использовать существующее приложение Linux в Windows, тогда Вы могли попытаться компилировать его с помощью Cygwin в Windows. Это однако не дает Вам исполняемый файл Windows, лишенный всех зависимостей к Cygwin (Ваш исполняемый файл все еще зависит от cygwin.dll
файл) - и все еще, возможно, требуется некоторое портирование, прежде чем это будет работать. См. http://www.cygwin.com .
, Если Вы подразумеваете, что хотите быть в состоянии выполнить фактическую компиляцию Приложения Windows на Linux и произвести .exe файл, который является исполняемым файлом в Windows - таким образом использование Вашего поля Linux для разработки и/или компиляции тогда, необходимо изучить MinGW для Linux, который является инструментом для кросс-компиляции для Windows на Linux. См. http://www.mingw.org/wiki/LinuxCrossMinGW .
С наилучшими пожеланиями!
Я предлагаю вам попробовать GUB (Grand Unified Builder), так как он кросс-компилирует несколько пакетов с их зависимостями и собирает их в один установочный пакет для в настоящее время 11 архитектур. Вы можете загрузить готовый образ для установки на виртуальную машину из здесь и перейти к источнику здесь. В настоящее время его можно использовать для кросс-компиляции GNU LilyPond/GNU Denemo/Inkscape и OpenOffice.org.
Целевые архитектуры: