Действительно ли возможно просмотреть, какая оболочка управляет, чтобы Eclipse сделал?

if(route.length()>0) /* If we have a route*/
    {
        int j; char c; /* Declarations for variables used*/
        int x=xA; /* xA is our starting x location */
        int y=yA; /* yA is our starting y location */
        map[x][y]=2; /* Mark in the map our starting location with a 2 */

        for(int i=0;i<route.length();i++) /* For every step in our route */
        {
            c =route.at(i); /* Get the next character */
            j=atoi(&c); /* atoi(&c) converts c into an int */

            x=x+dx[j]; /* move x in the x_direction specified by j */
            y=y+dy[j]; /* move y in the y_direction specified by j */
            map[x][y]=3; /* Mark our new location with a 3 */
        }
        map[x][y]=4; /* Mark our location finish with a 4 */

Запутанная часть здесь - что такое dx и dy и как j обновляет наше направление.

static int dx[dir]={1, 1, 0, -1, -1, -1, 0, 1};
static int dy[dir]={0, 1, 1, 1, 0, -1, -1, -1};
/*              j = 0, 1, 2, 3, 4,  5,  6,  7  */

Из этого мы можем видеть, что если:

j == 0, добавьте 1 к x и 0 к y.

j == 1, добавить 1 к x и 1 к y.

ЭСТ ...

После того, как это будет сделано, Карта будет содержать наш путь, указанный в маршруте. Начало пути - там, где 2, финиш - там, где 4, а 3 показывают маршрут от начала до конца.

РЕДАКТИРОВАТЬ Начнут ли x и y с (0,0) в качестве начальной точки? Нет, они установлены на xA и yA, которые установлены на случайные числа в main ().

Большое спасибо, дорогой сэр, за ваш ответ. Но я не получил 2,3 и 4 для карты [x] [y]. В чем их преимущество? Единственная цель, которую я вижу, - это распечатать карту. В конце main, карта перебирается и в зависимости от значения что-то печатается. Таким образом, он должен напечатать карту, показывающую путь, рассчитанный на основе 2,3 и 4.

7
задан 14 May 2009 в 12:57
поделиться

3 ответа

Eclipse не выполняет команды оболочки для компиляции. Он использует собственный встроенный компилятор.

Можно позволить Eclipse сгенерировать для вас сценарий ANT. Этот сценарий может компилировать ваши классы с помощью встроенного компилятора Eclipse. Он также настроит путь к классам для компиляции. Может быть, это хороший первый шаг. Чтобы создать сценарий, выберите свой проект и в контекстном меню выберите «Экспорт»> «Файлы сборки Ant».

7
ответ дан 7 December 2019 в 03:20
поделиться

Насколько мне известно, Eclipse не выполняет команду оболочки для компиляции или создания файла JAR. Вместо этого он использует соответствующий Java API.

То, что я регулярно использую для выполнения такой работы, - это ant ( http://ant.apache.org ).

Вот действительно простой build.xml, который берет исходные тексты Java в каталоге "src", компилирует их с использованием библиотек в каталоге "lib" и помещает полученные классы в файл "project.jar".

<?xml version="1.0" encoding="UTF-8"?>
<project name="project">
    <target name="package" description="builds the jar file from the compiled classes">
        <mkdir dir="build" />
        <javac srcdir="src" destdir="build">
            <classpath>
                <fileset dir="lib" includes="**/*.jar" />
            </classpath>
        </javac>
        <jar destfile="project.jar">
            <fileset dir="build" includes="**/*.classes" />
        </jar>
    </target>
</project>
2
ответ дан 7 December 2019 в 03:20
поделиться

Действительно хороший вариант - использовать Ant4Eclipse ( http://ant4eclipse.sourceforge.net/ )

Это набор задач для муравьев, которые исследуют затмение метаданные проекта и могут использоваться для определения правильного порядка сборки проекта, исходных и выходных каталогов и т. д.

Вы также можете сопоставить цели ant со сборщиками eclipse (например, если у вас есть настройка сборщика ANTLR в eclipse, вы можете определить цель-муравей, которая компилирует код ANTLR и сопоставляет его с именем запускаемого сборщика ANTLR)

На моей последней работе я написал общий сценарий сборки с использованием ant4eclipse. Я собираюсь в какой-то момент попытаться создать новый общий сценарий сборки, но у меня не было времени.

0
ответ дан 7 December 2019 в 03:20
поделиться
Другие вопросы по тегам:

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