Windows Subsystem for Linux
Memorandum
Bash
The code of line break - EOL i.e., End-of-line - should be LF instead of CRLF in the .profile file on Bash.
I was able to avoid the error with that.
Then type the following command to update.
source .profile
Compiling C source files in GCC on WSL (Ubuntu 64-bit)
You can describe the calling convention by specifying an ABI - i.e., Application Binary Interface - attribute of functions for GCC.
Example
# define __cdecl __attribute__((ms_abi))
# define __sysv __attribute__((sysv_abi))
# include <stdarg.h>
signed(__cdecl f(signed char **argp,...));
signed(__sysv main(signed(argc),signed char(**argv),signed char(**env))) {
// Although technical interest prevails here, in practice it is better to use VA macros when dealing with variable length arguments.
EFBFBD
The sequence of three bytes EFh BFh BDh in UTF-8 represents the Unicode Replacement Character U+FFFD.
Remove CRs in a text file with command SED
$ sed -b -i 's/\r//g' FILE
Remove CRs in text files ending in .txt with command FIND and SED
$ find . -type f -name '*.txt' -exec sed -b -i 's/\r//g' {} +;