The /Gy option enables linking on a function-by-function basis by creating packaged functions. A packaged function is visible to the linker in the form of a COMDAT record. Packaged functions have several uses:
You can exclude unreferenced packaged functions from the executable file by specifying the linker's /PACKF option. For more information on /PACKF, see page 589.
You can place packaged functions in a specified order in the executable file by using a FUNCTIONS statement in a module-definition (.DEF) file. For more information on FUNCTIONS, see page 625.
You can assign individual packaged functions to a specified segment by using a FUNCTIONS statement.
You can place individual packaged functions in a specified overlay in a DOS program by using a FUNCTIONS statement. For more information on overlaid programs, see Chapter 15.
For C++, member functions are automatically packaged; other functions are not, and /Gy is required to compile them as packaged functions.