Попытка скомпилировать и отладить C++ от Vim

Ответ GMB обычно является лучшим выбором, но если вам действительно нужно вывести (a_really_precise_number) * 100, вы можете сделать это на стороне приложения, фактически передав его в виде строки в язык, который поддерживает произвольно большие числа, а затем приведите его сторона приложения. Если в вашей базе данных есть числа более точные, чем 16 цифр, вы, вероятно, уже используете номер, который поддерживает это в вашем приложении.

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

Третий вариант, если вы просто умножаете его на степень 10, такую ​​как N * 100, и выводите результат, то передаете его в приложение в виде строки, а затем просто анализируете его, чтобы переместить десятичное число в 2 места, как это :

function shiftDec(str, shift){
  // split on decimal point
  var decPoint = str.indexOf(".");
  var decInt = str.substr(0, decPoint);
  var decMod = str.substr((decPoint+1));

  // move decimal 'shift' places to simulate N*100.
  if(shift > 0){
    var shiftCopy = decInt .substr(0,shift);
    decInt = decInt + shiftCopy;
    decMod = decMod .substr(shift);
  } else {
    var shiftCopy = decInt .substr((decInt.length + shift));
    decInt = decInt .substr(0,(decInt.length + shift));
    decMod = shiftCopy + decMod;
  }
  return decInt + '.' + decMod;
}
var result = shiftDec("1234567891234567.8912345678912345", 2);
document.write(result);
9
задан epochwolf 18 March 2009 в 00:15
поделиться

7 ответов

Взгляд на MinGW. Я избежал бы Cygwin, если Вы только нуждаетесь в gcc и делаете. Вы захотите и MinGW и MSYS. MSYS имеет порт окон, делают.

Если Вы интересуетесь большим количеством Unix utlities для командной строки окон, я рекомендую CoreUtils.

Поскольку изучение делает, см. руководство

4
ответ дан 4 December 2019 в 13:49
поделиться

Вам не обязательно нужен Make-файл, но это - предпочтительное (и возможно самый нормальный) способ скомпилировать код подобных UNIX систем.

Я не знаю, делает ли GNU, имеет порт Windows, но можно, вероятно, выполнить его под Cygwin.

Для получения дополнительной информации о GNU Делают и Make-файлы:

Кроме того, посмотрите этот вопрос: скомпилируйте непосредственно от энергии

Обязательное редактирование: Я не использую Windows или Cygwin. Вы могли бы хотеть послушать совет epochwolf относительно того отдела.

4
ответ дан 4 December 2019 в 13:49
поделиться

Я не нахожусь в эксперте в make-файлах и отладке, но я знаю, что Vim позволяет Вам сделать много вещей. Например, если Вы хотите скомпилировать файл с gcc, это не очень отличается от обычного пути. В нормальном типе режима:

:!gcc file.c -o file

На самом деле можно использовать (почти) каждую системную команду только путем добавления"!" перед Вашей командой. gdb также работает с Vim

:!gdb

Я надеюсь, что это поможет Вам.

3
ответ дан 4 December 2019 в 13:49
поделиться

EDIT1: Несколько закладок Вы могли бы найти полезным:

GNU делает учебное руководство (это использование gcc, и сделайте, таким образом, это должно быть правильно Ваша область),

Другой

Порт победы части GNU utils Can упоминал; я лично использую их и не имел никаких проблем с ними на платформе Windows.


Да, можно скомпилировать без make-файла. Если Ваша программа проста (например, только один файл), можно скомпилировать путем вызова компилятора, и включая название программы в той же строке (не помните, как это идет с gcc). Конечно, для создания вещей легче это может быть отображено на ключе в энергии, таким образом, Вы не должны переходить к командной строке и назад.

Если Вы работаете над большим проектом, который состоит из нескольких файлов и такого, чем make-файл полезен. Это будет "искать" через файлы, определять зависимости, включать их в сборку, возможно, помещать исходные файлы в один каталог и получающийся EXE-файл в другой и такой. Таким образом, это - больше соединения и создания системы, чем просто компиляция. Хотя GNU делает упомянутыми в ответе Болвана Банки Guder, популярный, существует множество других инструментов для "создания make-файлов" ("make-файл" стал типом синонима для такой операции) - здесь, Вы видите некоторые другие опции на этой ссылке. Из-за его части в энергии истории имеет хорошую поддержку: сделайте, но другие могут легко использоваться также (существует много текстов на этом предмете на VimWikia.

Ну, вот именно. Просто мои 0,2 евро :)

1
ответ дан 4 December 2019 в 13:49
поделиться

Пока у Вас есть GNU - делают установленными (с cygwin или mingw под окнами), Вы не должны писать make-файл для однофайловых проектов. Просто выполненный :make от энергии, и это достаточно.

Если Ваш проект сделан из нескольких файлов, то необходимо будет записать make-файл (или любой эквивалент для сканирований, aap, (b) затор, муравей...), настроить Ваш &makeprg в последствии, и наконец звонят :make от энергии. Посмотрите соответствующую категорию в vimtips. Можно, конечно, запустить компилятор, как Вы имели бы, выполнил любой другой внешний инструмент, но Вы освободите возможность перейти к строке (строкам) ошибки (ошибок).

NB: при использовании win32 версии энергии и gcc-cygwin необходимо будет перевести полученные сообщения об ошибках. Я раньше поддерживал сценарий жемчуга с этой целью, это - теперь часть большего комплекта (все еще в стадии отладки)

Относительно Вашего вопроса об отладке это не может быть сделано от энергии под окнами в настоящий момент. Единственный отладчик, который может быть интегрирован до сих пор, является gdb, но в соответствии с Linux только; посмотрите pyclewn (.sf.net) проект.

1
ответ дан 4 December 2019 в 13:49
поделиться

Чтобы интегрировать vim с devenv, вы можете использовать devenv из Visual Studio для компилирования проекта в vim. Команда выглядит следующим образом:

Devenv SolutionName /build SolnConfigName [/project ProjName [/projectconfig ProjConfigName]]

Типично, devenv должен находиться в C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE. Задайте для него путь к среде, чтобы его можно было вызывать из vim. Нам также необходимо заставить vim распознавать сообщения об ошибках, выдаваемые инструментом сборки командной строки devenv. Просто введите в vimrc следующие строки:

" Quickfix mode: command line devenv error format
au FileType cpp set makeprg=devenv.com\ /Build\ Debug\ *[SolutionName]*
au FileType cpp set errorformat=\ %#%f(%l)\ :\ %#%t%[A-z]%#\ %m

Затем вы можете использовать: make для компиляции и сборки программы из vim.

2
ответ дан 4 December 2019 в 13:49
поделиться

Я не уверен насчет отладки, но я знаю простой способ скомпилировать и запустить текущую программу, так как написал для этого небольшой плагин vim.

http://pastebin.com/qc5Zp2P7

Предполагается, что вы используете компилятор g ++. Если нет, просто измените имя на используемый вами компилятор. Сохраните этот файл туда, где вы установили vim / ftplugin / cpp.vim

. Чтобы скомпилировать и запустить текущую открытую программу, просто введите shift-e в режиме без редактирования.

0
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

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