WINDMC(1)
π WINDMC(1) π
okay bestie, welcome to windmc β it's one of the GNU Development Tools and it's literally the Windows Message Compiler's twin, no cap. Let's get into it π«Ά
β¨ NAME β¨
windmc β generates Windows message resources. that's it, that's the job π
πΈ SYNOPSIS πΈ
windmc [options] input-file
π¦ DESCRIPTION π¦
so here's the vibe: windmc reads message definitions from an input file (.mc, obviously) and translates them into a whole little family of output files. and when I say family, I mean four kinds, bestie:
- "h" β a C header file that contains the message definitions.
- "rc" β a resource file, compilable by the
windrestool. - "bin" β one or more binary files holding the resource data for a specific message language.
- "dbg" β a C include file that maps message id's to their symbolic name.
the exact description of these different formats? it's available in documentation from Microsoft, so go look, i'm not making stuff up π
when windmc converts from the mc format to the bin format, rc, h, and optional dbg, it is acting like the Windows Message Compiler. main character energy, honestly π
π OPTIONS π
-a,--ascii_inβ says the input file you gave is ASCII. this is the default behaviour, so it's giving "i was already doing this, but go off" πΈ-A,--ascii_outβ says messages in the outputbinfiles should be in ASCII format.-b,--binprefixβ saysbinfilenames have to be prefixed by the basename of the source file.-c,--customflagβ sets the customer bit in all message id's. cute little bit, love that for it.-Ccodepage,--codepage_incodepage β sets the default codepage used to convert the input file to UTF16. the default is ocdepage 1252. (yes that's exactly what the page says, i'm just the messenger π)-d,--decimal_valuesβ outputs the constants in the header file in decimal. default is hexadecimal output.-eext,--extensionext β the extension for the header file. the default is the.hextension.-Ftarget,--targettarget β specify the BFD format to use for a bin file as output. this is a BFD target name, and you can use the--helpoption to see a list of supported targets. normallywindmcuses the default format, which is the first one listed by the--helpoption.-hpath,--headerdirpath β the target directory of the generated header file. the default is the current directory.-H,--helpβ displays a list of command-line options and then exits. the classic.-mcharacters,--maxlengthcharacters β tellswindmcto generate a warning if the length of any message exceeds the number you specified. keeping you humble fr fr.-n,--nullterminateβ terminate message text inbinfiles by zero. by default they're terminated by CR/LF.-o,--hresult_useβ not yet implemented, bestie, so don't come for me. it instructswindmcto generate an OLE2 header file using HRESULT definitions. status codes are used if the flag is not specified.-Ocodepage,--codepage_outcodepage β sets the default codepage used to output text files. the default is ocdepage 1252.-rpath,--rcdirpath β the target directory for the generatedrcscript and the generatedbinfiles that the resource compiler script includes. the default is the current directory.-u,--unicode_inβ says the input file is UTF16.-U,--unicode_outβ says messages in the outputbinfile should be in UTF16 format. this is the default behaviour β¨-v,--verboseβ enable verbose mode. yap mode: ON.-V,--versionβ prints the version number forwindmc.-xpath,--xdgbpath β the path of thedbgC include file that maps message id's to the symbolic name. no such file is generated without specifying the switch, so don't be surprised when it's just not there π@file β read command-line options from file. the options that get read are inserted in place of the original@file option. if file doesn't exist, or can't be read, then the option gets treated literally and is not removed.
options inside file are separated by whitespace. a whitespace character can be included in an option by surrounding the entire option in either single or double quotes. any character (including a backslash) can be included by prefixing the character you want in there with a backslash. and plot twist β the file may itself contain additional @file options, and any such options will be processed recursively. it's giving inception π
π SEE ALSO π
the Info entries for binutils. go read, i'll wait π
π COPYRIGHT π
Copyright (c) 1991-2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
and that's the whole page, bestie π this was binutils-2.45.50, dated 2025-12-09, and it's still WINDMC(1) at the end of the day. slay, stay safe, and always read your manpages πβ¨π¦
π¦ where this page comes from
- ubuntu resolute: binutils-arm-none-eabi 2.45.50.20251209-1ubuntu1+23build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms