У меня две строки, str1 и str2. Я хочу объединить их в пространство в куче. Я выделяю для них пространство, используя:
char *concat = (char*) malloc(strlen(str1) + strlen(str2) + 1);
Могу я просто сделать:
strcat(concat, str1);
strcat(concat, str2);
И concat предоставит мне место в куче с двумя сцепленными строками? Я спрашиваю, потому что кажется, что strcat действительно добавит str1 в конец пространства, выделенного с помощью malloc. Это правильно? Таким образом, str1 появится в позиции strlen (str1) + strlen (str2) + 1.
Я спрашиваю, потому что я использую описанный выше метод,
Мы заметили, что в таком файле есть ссылка на локальный путь установки в MSBuildExtensionsPath
, и учитывая, что вместо того, чтобы сохранять зависимости кода как можно более чистыми, я готов нести накладные расходы на их распространение / управление версиями с каждым проектом, Мне было интересно, можно ли как-то переопределить местоположение по умолчанию / установку с помощью относительного к проекту в файле .cproj
?
Фактический макет будет примерно таким:
Dotnet.Samples.Foobar
\src
Foobar.cs
\lib
MSBuild.Community.Tasks.targets
MSBuild.Community.Tasks.dll
Любое руководство будет будут искренне признательны. Большое спасибо за любые предложения, которыми вы, возможно, захотите поделиться.