Как я переименовываю файлы при включении в банку задачей банки муравья?

Это зависит и в поставщике компилятора и в библиотеках, которые Вы компилируете с флагами ОТЛАДКИ. В то время как код ОТЛАДКИ никогда не должен влиять на рабочий код (не должен иметь никаких побочных эффектов), это иногда делает.

, В частности, переменные могут быть инициализированы только в Режиме отладки и оставлены неинициализированные в режиме RELEASE. STL в компиляторах Visual Studio отличается в режимах DEBUG и RELEASE. Идея состоит в том, что итераторы полностью проверяются в ОТЛАДКЕ для обнаружения возможных ошибок (использующий делаемые недействительным итераторы, например, итератор в вектор делается недействительным, если вставка происходит после того, как итератор получен).

то же происходит со сторонними библиотеками, первым, о котором я могу думать, является QT4, который завершит Вашу программу с утверждением, если поток, отличающийся от того, который создал графический объект, выполнит операции рисования.

Со всеми изменениями, Ваш код и объем потребляемой памяти будут отличаться в обоих режимах. Указатель (читающий положение одна передача конец массива) проблема может передать необнаруженный, если то положение читаемо.

Утверждения предназначены, чтобы уничтожить приложение во время ОТЛАДКИ и исчезнуть из Сборок конечных версий, таким образом, я не думал бы на утверждениях, как являющихся Вашей проблемой. Указатель жулика или доступ к одному прошлому конец были бы моими первыми подозреваемыми.

Некоторое время назад были проблемы с некоторой оптимизацией компилятора, повреждающей код, но я не считал жалобы в последнее время. Там могла быть проблема оптимизации, но это не будет моим первым подозреваемым.

13
задан skiphoppy 22 September 2009 в 14:25
поделиться

2 ответа

Обновление: вы, вероятно, действительно хотите, чтобы задача копирования , а не перемещение, но преобразователь регулярных выражений работает одинаково как для копирования, так и для перемещения.

Следующее регулярное выражение скопирует все jar-файлы из каталога jars в jars_out, сопоставив [папка] / [файл] .jar с [папка] _ [файл] .jar.

<copy todir="./jars_out">
  <fileset dir="jars"/>
  <mapper type="regexp" from="([^/\\]*)[/\\](.*)\.jar$$" to="\1_\2.jar"/>
</copy>

Сопоставителю регулярного выражения требуется соответствующий jar-файл реализации регулярного выражения на путь к классам для работы. Доступны различные реализации:

2
ответ дан 1 December 2019 в 22:39
поделиться

Вы можете использовать zipfileset с ] атрибут fullpath для переименования имени файла в jar:

<jar destfile="newjar.jar">
    <zipfileset dir="yay" includes="my.jar" fullpath="yay_my.jar"/>
    <zipfileset dir="boo" includes="my.jar" fullpath="boo_my.jar"/>
    <!-- etc. -->
</jar>

Вы не можете использовать преобразователь с этой техникой, вам придется явно перечислить каждый файл jar. Если вы можете предположить, что каждый файл называется my.jar , и все они находятся в непосредственном дочернем каталоге, вы можете использовать субант цель , чтобы объединить их все:

<target name="glom">
    <subant genericantfile="${ant.file}" target="update-jar">
        <dirset dir="." includes="*"/>
    </subant>
</target>

<target name="update-jar">
    <basename file="${basedir}" property="dirname"/>
    <property name="path" value="${dirname}_my.jar"/>
    <jar destfile="../newjar.jar" update="yes">
        <zipfileset dir="." includes="my.jar" fullpath="${path}"/>
    </jar>
</target> 
17
ответ дан 1 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

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