Member 12811497 Ответов: 3

Как получить промежуточные файлы (т. е. I. файлы) для любых компиляторов C/C++?


Я работаю над тестированием дефектов кода. Процедура выглядит следующим образом: я получаю исходные коды для тестирования от клиента, а затем исходные коды предварительной обработки / обработки для создания промежуточных файлов (то есть файлов .i) с использованием компилятора в моя машина вместо компилятора, который использует клиент. Проблема возникает из-за того, что полученные мной промежуточные файлы не подлежат дальнейшему анализу. Например, компилятор, установленный на моем компьютере, не может распознать некоторые макросы. Я предполагаю, что конфигурация компилятора зависит от среды разработки, как вы знаете, многие коды программируются в среде IDE. Как следствие, когда я пытаюсь перенести исходный исходный код на свою машину, некоторые конфигурации компилятора отсутствуют или неверны. Все, что я сказал, то, чего я хочу достичь, - это получить промежуточные файлы, созданные в клиентской среде разработки. Требуется, чтобы решение было максимально простым, потому что я не хочу возлагать на клиентов слишком большую нагрузку. Любая помощь будет оценена.

Что я уже пробовал:

Я еще не придумал никакого решения.

[no name]

Какое отношение имеет какой-либо промежуточный файл к тестированию дефектов кода? Чем вы занимаетесь: тестированием кода, написанного клиентом? Это кажется немного странным.

3 Ответов

Рейтинг:
2

Richard MacCutchan

Попросите клиента прислать вам полный проект, а не только исходные файлы.


Рейтинг:
2

CPallini

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

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


Рейтинг:
1

OriginalGriff

Цитата:
Я предполагаю, что конфигурация компилятора зависит от среды разработки, как вы знаете, многие коды программируются в IDE.

Нет, IDE в значительной степени независима: одна и та же IDE (например, Visual Studio) может использоваться для многих различных языков, включая C , C++, C#, VB, F#...

IDE не выполняет компиляцию: для этого она использует один из многих компиляторов и даже не нужна - вы можете писать код с помощью текстового редактора или даже в электронной таблице Microsoft Excel, если очень постараетесь: и некоторые люди обычно используют базовый текстовый редактор вместо IDE.

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