Важным понятием в Си, которое я не изучил у моих учителей, является:
Оператор * не означает «указатель на» (слева). Вместо этого он является оператором разыменования - точно так же, как и в правой части (да, я знаю, что это беспокоит некоторых).
Таким образом:
int *pInt
означает, что когда разыменовывается pInt, вы получаете int. Таким образом, pInt является указателем на int. Или по-другому: * pInt - это int - разыменованный pInt - это int; В этом случае pInt должен быть указателем на int (иначе мы не получили бы int, когда он разыменовывался).
Это означает, что нет необходимости изучать более сложные объявления наизусть:
const char *pChar
* pChar имеет тип const char. Таким образом, pChar является указателем на const char.
char *const pChar
* const pChar имеет тип char. Таким образом, const pChar является указателем на char (сам pChar является константой).
const char * const pChar
* const pChar имеет тип const char. Таким образом, const pChar является указателем на const char (сам pChar является константой).
Вы можете попробовать Mingw с MSYS, Visual Studio (Express) с SUA (подсистема для приложений unix) или Cygwin для компиляции программ, основанных на automake / autoconf (./configure && make to build under Linux).
К сожалению, обычно создаваемый ими файл lib несовместим с другими компиляторами, поэтому, если вы хотите, чтобы ваша библиотека работала с приложением, разработанным с использованием Visual Studio, вам следует использовать подход VSC ++. Обычно многие проекты GNU (проверьте gnuwin32 ) также имеют сценарии сборки, совместимые с VC, которые могут быть скомпилированы с помощью "nmake"
You could use MinGW or install the MSVC command line tools from Visual Studio Express.
Either of those can be driven by command line scripts.
I imagine a cross compile from Linux would also work, but I have no idea how easy (or painful) that might be to get going.
This short article shows a simple cross compile of a Windows application & running that app under Wine:
Комплект для разработки программного обеспечения Windows включает компилятор Microsoft C / C ++ (только командная строка без визуальных инструментов), поэтому вам даже не понадобится Visual C ++ Express Edition. Windows SDK можно бесплатно загрузить с сайта Microsoft.
Если вы используете http://www.cmake.org/ , cmake может создайте Makefile (для Unix) и файл проекта (для Visual Studio). Это то, что, например, используется в проекте KDE.
Компилятор Visual Studio может быть запущен из командной строки Windows с помощью 'devenv / build debug project.csproj' в файле, созданном cmake. Однако для этого требуется Windows (возможно, на виртуальной машине) с установленной (потенциально бесплатной) Visual Studio.