Home > c preprocessor > c preprocessor throw error

C Preprocessor Throw Error

Contents

here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring c preprocessor error directive developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask c preprocessor error macro Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join c preprocessor define them; it only takes a minute: Sign up Generating a preprocessor error if a define is used up vote 0 down vote favorite Is it possible with the C++ preprocessor to emit an #error if a particular #define is c preprocessor if used? Something like this: #define this_must_not_be_used #error You shouldn't use that. c++ c c-preprocessor share|improve this question edited Jan 16 '15 at 9:58 Mat 135k21234273 asked Jan 16 '15 at 9:56 Timmmm 21k19131147 1 #ifdef this_must_not_be_used #error You shouldn't use that. #endif? –How Chen Jan 16 '15 at 9:59 Yes and no... you can't define a macro that includes a pre-processor directive (#error), but if the goal is to trap programmers who accidentally (or otherwise) use

C Preprocessor Tutorial

this_must_not_be_used in their code, then the above will "work" because the compiler will throw an error anyway! –TripeHound Jan 16 '15 at 10:00 add a comment| 3 Answers 3 active oldest votes up vote 4 down vote accepted There is no standard way of defining a macro in such a way that its use, wherever it is, will give you a compilation error, especially not one that gives a clear and useful error message. For all you know, the code that uses it might just be stringizing its result, or it might be part of an assert condition that gets removed by the preprocessor. For most practical purposes, putting something that cannot possibly be part of a valid C (or C++) program will be good enough. Some implementations do have implementation-specific methods of achieving exactly what you ask for, though. For instance, with GCC, you can use #pragma GCC poison this_should_not_be_used where its subsequent use, no matter how it ends up used, will give: error: attempt to use poisoned "this_should_not_be_used" You may want to look at your own compiler's documentation to see if it has anything similar. You can also use conditional macro definitions, so that with GCC you use this approach, with your compiler you use your compiler's approach, and with an unknown compiler you fall back to the standard method of providing a macro definition that will probably lead to a difficult-to-read

resources Windows Server 2012 resources Programs MSDN subscriptions Overview Benefits Administrators Students Microsoft Imagine Microsoft Student Partners ISV Startups TechRewards Events Community Magazine Forums Blogs Channel 9 Documentation APIs and reference Dev centers

C Preprocessor Ifdef

Retired content Samples We’re sorry. The content you requested has been removed. You’ll c preprocessor ## operator be auto redirected in 1 second. C/C++ Preprocessor Reference Preprocessor Preprocessor Directives Preprocessor Directives #error Directive #error Directive #error Directive c preprocessor concatenate #define Directive #error Directive #if, #elif, #else, and #endif Directives #ifdef and #ifndef Directives #import Directive #include Directive #line Directive Null Directive #undef Directive #using Directive TOC Collapse the table of content http://stackoverflow.com/questions/27981327/generating-a-preprocessor-error-if-a-define-is-used Expand the table of content This documentation is archived and is not being maintained. This documentation is archived and is not being maintained. #error Directive (C/C++) Visual Studio 2015 Other Versions Visual Studio 2013 Visual Studio 2012 Visual Studio 2010 Visual Studio 2008 Visual Studio 2005 Visual Studio .NET 2003  The #error directive emits a user-specified error message at compile time and then terminates https://msdn.microsoft.com/en-us/library/c8tk0xsk.aspx the compilation.Syntax Copy #errortoken-string RemarksThe error message that this directive emits includes the token-string parameter. The token-string parameter is not subject to macro expansion. This directive is most useful during preprocessing for notifying the developer of a program inconsistency or the violation of a constraint. The following example demonstrates error processing during preprocessing: Copy #if !defined(__cplusplus) #error C++ compiler required. #endif See AlsoPreprocessor Directives Show: Inherited Protected Print Export (0) Print Export (0) Share IN THIS ARTICLE Is this page helpful? Yes No Additional feedback? 1500 characters remaining Submit Skip this Thank you! We appreciate your feedback. Dev centers Windows Office Visual Studio Microsoft Azure More... Learning resources Microsoft Virtual Academy Channel 9 MSDN Magazine Community Forums Blogs Codeplex Support Self support Programs BizSpark (for startups) Microsoft Imagine (for students) United States (English) Newsletter Privacy & cookies Terms of use Trademarks © 2016 Microsoft © 2016 Microsoft

the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs. Preprocessor http://tigcc.ticalc.org/doc/cpp.html Overview Header Files Macros Conditionals Pragmas Other Directives User-defined Diagnostics Line Control Preprocessor Output https://en.wikipedia.org/wiki/C_preprocessor C Preprocessor Command-Line Options Traditional Mode Implementation Details History GNU General Public License GNU Free Documentation License Funding Free Software Original author: Free Software Foundation, Inc. Authors of the modifications: Zeljko Juric, Sebastian Reichelt, and Kevin Kofler Published by the TIGCC Team. See the History section for details and copyright information. Permission is granted to copy, c preprocessor distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled "GNU Free Documentation License". This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). (a) The FSF's Front-Cover Text is: A GNU c preprocessor error Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. Preprocessor Overview The C preprocessor, often known as cpp, is a macro processor that is used automatically by the C compiler to transform your program before compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs. The C preprocessor is intended to be used only with C, C++, and Objective-C source code. In the past, it has been abused as a general text processor. It will choke on input which does not obey C's lexical rules. For example, apostrophes will be interpreted as the beginning of character constants, and cause errors. Also, you cannot rely on it preserving characteristics of the input which are not significant to C-family languages. If a Makefile is preprocessed, all the hard tabs will be removed, and the Makefile will not work. Having said that, you can often get away with using cpp on things which are not C. Other Algol-ish programming languages are often safe (Pascal, Ada, etc.) So is assembly, with caution. '-traditional-cpp' mode preserves more white space, and

article is written like a manual or guidebook. Please help rewrite this article from a descriptive, neutral point of view, and remove advice or instruction. (February 2013) (Learn how and when to remove this template message) This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. Please help to improve this article by introducing more precise citations. (March 2015) (Learn how and when to remove this template message) (Learn how and when to remove this template message) The C preprocessor or cpp is the macro preprocessor for the C and C++ computer programming languages. The preprocessor provides the ability for the inclusion of header files, macro expansions, conditional compilation, and line control. In many C implementations, it is a separate program invoked by the compiler as the first part of translation. The language of preprocessor directives is only weakly related to the grammar of C, and so is sometimes used to process other kinds of text files. Contents 1 Phases 1.1 Including files 1.2 Conditional compilation 1.3 Macro definition and expansion 1.4 Special macros and directives 1.4.1 Token stringification 1.4.2 Token concatenation 1.5 User-defined compilation errors 2 Implementations 2.1 Compiler-specific preprocessor features 3 Other uses 4 See also 5 References 6 External links Phases[edit] Preprocessing is defined by the first four (of eight) phases of translation specified in the C Standard. Trigraph replacement: The preprocessor replaces trigraph sequences with the characters they represent. Line splicing: Physical source lines that are continued with escaped newline sequences are spliced to form logical lines. Tokenization: The preprocessor breaks the result into preprocessing tokens and whitespace. It replaces comments with whitespace. Macro expansion and directive handling: Preprocessing directive lines, including file inclusion and conditional compilation, are executed. The preprocessor simultaneously expands

 

Related content

ansi c preprocessor #error

Ansi C Preprocessor error table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Stringify a li li a href C Preprocessor Stringize a li li a href C Preprocessor Tricks a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of configure error c preprocessor a conditional that detects a combination of configure error c preprocessor lib cpp fails sanity check centos parameters which you know the program does not properly support For c preprocessor if example if you know that the program will not

#error #warning c preprocessor

error warning C Preprocessor table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Error Macro a li li a href C Preprocessor Tutorial a li li a href C Preprocessor Concatenate a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of c preprocessor error directive a conditional that detects a combination of p h id C Preprocessor Error Macro p parameters which you know the program does not properly support For c preprocessor define example if you know that the program will not run

cpp preprocessor error

Cpp Preprocessor Error table id toc tbody tr td div id toctitle Contents div ul li a href Cpp Preprocessor Directives a li li a href C Preprocessor If a li li a href C Preprocessor Stringify a li li a href C Preprocessor Definitions a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of p h id Cpp Preprocessor Directives p a conditional that detects a combination of c preprocessor lib cpp fails sanity check parameters which you know the program does not properly support For gcc preprocessor error example if

configure error c preprocessor lib cpp

Configure Error C Preprocessor Lib Cpp table id toc tbody tr td div id toctitle Contents div ul li a href Checking How To Run The C Preprocessor lib cpp a li li a href Checking How To Run The C Preprocessor lib cpp a li li a href C Preprocessor Fails Sanity Check Ubuntu a li ul td tr tbody table p configure error lib cpp fails sanity p h id Checking How To Run The C Preprocessor lib cpp p check SOLVED From nospam at nospam dot net lib cpp fails sanity check ubuntu To gcc-help at gcc

c preprocessor error pragma

C Preprocessor Error Pragma table id toc tbody tr td div id toctitle Contents div ul li a href Ifdef Preprocessor a li li a href Pragma In C a li li a href pragma In Embedded C a li ul td tr tbody table p Three forms of this directive commonly known as pragmas are specified by the C standard A C compiler is free to attach any meaning it likes to other pragmas relatedl GCC has historically preferred to use extensions to the syntax c preprocessor error directive of the language such as attribute for this purpose However

c preprocessor error

C Preprocessor Error table id toc tbody tr td div id toctitle Contents div ul li a href Error C Windows System Rundll Exe a li li a href C Preprocessor If a li li a href C Preprocessor Define a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of c preprocessor error directive a conditional that detects a combination of c preprocessor error macro parameters which you know the program does not properly support For ifdef preprocessor example if you know that the program will not run properly on a VAX

c preprocessor macros #error

C Preprocessor Macros error table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Macros Multiple Lines a li li a href C Preprocessor Macro Variable Arguments a li li a href C Preprocessor Macro Concatenation a li li a href C Preprocessor Macro If a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of p h id C Preprocessor Macros Multiple Lines p a conditional that detects a combination of c preprocessor macro arguments parameters which you know the program does not properly support

c preprocessor #error directive

C Preprocessor error Directive table id toc tbody tr td div id toctitle Contents div ul li a href Visual Studio Preprocessor Directives a li li a href Pre Processor Directive In C a li li a href error Gcc a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta relatedl Discuss the workings and policies of this site About c preprocessor directives examples Us Learn more about Stack Overflow the company Business Learn more about hiring p h id Visual Studio Preprocessor

c preprocessor #warning #error

C Preprocessor warning error table id toc tbody tr td div id toctitle Contents div ul li a href Preprocessor Warning Message a li li a href C Preprocessor Define a li li a href C Preprocessor Tutorial a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions relatedl you might have Meta Discuss the workings and policies c preprocessor error directive of this site About Us Learn more about Stack Overflow the company c preprocessor error macro Business Learn more about hiring developers or posting ads

c preprocessor error and warning

C Preprocessor Error And Warning table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Error Macro a li li a href C Preprocessor Define a li li a href C Preprocessor If a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn relatedl more about Stack Overflow the company Business Learn more about hiring c preprocessor error directive developers or posting ads with us

c preprocessor error message

C Preprocessor Error Message table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Error Macro a li li a href C Preprocessor Tutorial a li li a href C Preprocessor Concatenate a li ul td tr tbody table p p p resources Windows Server resources Programs MSDN subscriptions Overview Benefits Administrators Students Microsoft Imagine Microsoft Student Partners ISV Startups TechRewards Events relatedl Community Magazine Forums Blogs Channel Documentation APIs and c preprocessor ifdef reference Dev centers Retired content Samples We re sorry The content you requested c preprocessor operator has been removed

c preprocessor error warning

C Preprocessor Error Warning table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Error Directive a li li a href C Preprocessor If a li li a href C Preprocessor Tutorial a li li a href C Preprocessor Operator a li ul td tr tbody table p p p tokens Description error emits tokens to standard error relatedl and increments the assembler error counter hereby c preprocessor ifdef preventing the program from being successfully assembled error is p h id C Preprocessor Operator p specified in the ANSI C standard warning emits

c language preprocessor #error

C Language Preprocessor error table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Error Directive a li li a href C Compiler Preprocessor a li li a href C Sharp Preprocessor a li li a href Perl Preprocessor a li ul td tr tbody table p error inside of p h id C Preprocessor Error Directive p a conditional that detects a combination of c preprocessor error macro parameters which you know the program does not properly support For c programming preprocessor example if you know that the program will not run

c preprocessor error macro

C Preprocessor Error Macro table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Macro Variable Arguments a li li a href C Preprocessor Macro Concatenation a li li a href C Preprocessor Macro If a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of c preprocessor macro arguments a conditional that detects a combination of c preprocessor macro tricks parameters which you know the program does not properly support For p h id C Preprocessor Macro Variable Arguments p example if you know that

configure error c preprocessor lib cpp fails sanity check

Configure Error C Preprocessor Lib Cpp Fails Sanity Check table id toc tbody tr td div id toctitle Contents div ul li a href Configure Error C Preprocessor Lib Cpp Fails Sanity Check Centos a li li a href Configure Error C Preprocessor Lib Cpp Fails Sanity Check Os X a li ul td tr tbody table p communities company blog Stack Exchange Inbox Reputation and Badges sign up log in tour help Tour Start here for a quick overview relatedl of the site Help Center Detailed answers gentoo configure error c preprocessor lib cpp fails sanity check to any

configure error c preprocessor

Configure Error C Preprocessor table id toc tbody tr td div id toctitle Contents div ul li a href Configure Error C Preprocessor lib cpp Fails Sanity Check a li li a href C Preprocessor Error Directive a li li a href C Preprocessor Error Macro a li li a href C Preprocessor If a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions relatedl you might have Meta Discuss the workings and policies p h id Configure Error C Preprocessor lib cpp Fails Sanity Check p

configure error c preprocessor /lib/cpp fails

Configure Error C Preprocessor lib cpp Fails table id toc tbody tr td div id toctitle Contents div ul li a href Checking How To Run The C Preprocessor lib cpp a li li a href Uuid Support Not Found a li li a href C Preprocessor Fails Sanity Check Ubuntu a li ul td tr tbody table p communities company blog Stack Exchange Inbox Reputation and Badges sign up log in tour help Tour Start here for a relatedl quick overview of the site Help Center configure error c preprocessor lib cpp fails sanity check centos Detailed answers to

error c preprocessor /lib/cpp

Error C Preprocessor lib cpp table id toc tbody tr td div id toctitle Contents div ul li a href Error C Preprocessor Lib Cpp Fails Sanity Check a li li a href Lib Cpp Fails Sanity Check Ubuntu a li li a href C Preprocessor Fails Sanity Check Centos a li li a href C Preprocessor Fails Sanity Check Ubuntu a li ul td tr tbody table p communities company blog Stack Exchange Inbox Reputation and Badges sign up log in tour help Tour Start here for a quick overview relatedl of the site Help Center Detailed answers p

error c preprocessor

Error C Preprocessor table id toc tbody tr td div id toctitle Contents div ul li a href Preprocessor Command a li li a href Preprocessor In Cpp a li li a href C Compiler Directives a li ul td tr tbody table p error inside of c preprocessor error examples a conditional that detects a combination of definition of preprocessor in c parameters which you know the program does not properly support For p h id Preprocessor Command p example if you know that the program will not run properly on a VAX you might write ifdef vax p

error preprocessor c

Error Preprocessor C table id toc tbody tr td div id toctitle Contents div ul li a href Error C Windows System Rundll Exe a li li a href C Preprocessor Warning a li li a href C Preprocessor Error Macro a li li a href C Preprocessor Concatenate a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings relatedl and policies of this site About Us Learn more about c preprocessor error directive Stack Overflow the company Business Learn

error preprocessor in c

Error Preprocessor In C table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor If a li li a href C Preprocessor Error Macro a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this relatedl site About Us Learn more about Stack Overflow the company c preprocessor error directive Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs error c windows system rundll

gcc preprocessor error

Gcc Preprocessor Error table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Message a li li a href error C a li li a href warning C a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of error c preprocessor a conditional that detects a combination of p h id C Preprocessor Message p parameters which you know the program does not properly support For gcc pragma message example if you know that the program will not run properly on a VAX you might

gcc preprocessor error directive

Gcc Preprocessor Error Directive table id toc tbody tr td div id toctitle Contents div ul li a href error C Preprocessor a li li a href C Preprocessor Message a li li a href Gcc message a li li a href warning In C a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed answers to any questions relatedl you might have Meta Discuss the workings and policies p h id error C Preprocessor p of this site About Us Learn more about Stack Overflow the company error gcc Business

gcc preprocessor #error #warning

Gcc Preprocessor error warning table id toc tbody tr td div id toctitle Contents div ul li a href C Preprocessor Message a li li a href Invalid Preprocessor Command warning a li ul td tr tbody table p message relatedl You would use lsquo error rsquo inside of gcc warning a conditional that detects a combination of gcc pragma message parameters which you know the program does not properly support For warning c example if you know that the program will not run properly on a VAX you might write ifdef vax error in c error Won't work on

preprocessor #error variable

Preprocessor error Variable table id toc tbody tr td div id toctitle Contents div ul li a href Gcc Pragma Message a li li a href Gcc Preprocessor Print Macro Value a li ul td tr tbody table p here for a quick overview of the site Help Center Detailed relatedl answers to any questions you might have Meta c preprocessor print define value Discuss the workings and policies of this site About Us Learn c preprocessor more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack gcc preprocessor print Overflow Questions