Article ID: 107501 - Last Review: April 28, 2005 - Revision: 3.0 You receive a C4226 or a C4236 error message when you compile code to contain the keyword in 32-bit Visual C++
This article was previously published under Q107501 On This PageSUMMARY The __export keyword provided with the Visual C++ for
Windows compiler is obsolete with the Microsoft Visual C++ 32-bit compiler. The
equivalent functionality for WIN32 can be achieved by using the keyword
__declspec with the dllexport attribute. With Visual C++ 32-bit Edition,
version 4.0, compiling code containing the __export (or _export) keyword
results in either of the following warnings: C4236:
nonstandard extension used : '__export' is an obsolete keyword, see
documentation for __declspec(dllexport)
- or -
C4226: nonstandard extension used :
'__export' is an obsolete keyword MORE INFORMATION The __declspec construct is not supported by the tools
supplied with Microsoft Win32 Software Development Kit (SDK). When porting DLL source code from Windows to Win32, replace each instance of __export with __declspec( dllexport ). The __declspec(dllexport) keyword can be used to export data, functions, classes, or class member functions. For example: Sample CodeREFERENCES For more information on exporting, query on the following
words in the Microsoft Knowledge Base:
__export and def and prolog and dllexport
For more information creating DLLs for WIN32 or on the
dllexport and dllimport storage class attributes, refer to Chapter 4 of the
"Programming Techniques" manual that ships with Visual C++ 32-bit Edition, or
search for dllexport or dllimport or export in the Visual C++ Books Online.
>From within the Visual Workbench, select Help and choose Keyword Search.
APPLIES TO
| Other Resources Other Support Sites
CommunityArticle Translations |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Back to the top