<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled skin-theme-clientpref-thumb-standard" lang="pt" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Assert.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://pt.wikipedia.org/wiki/Assert.h"> <link href="./_mw_/ext.cite.parsoid.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.keepPDU.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Assert_h rootpage-Assert_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">assert.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="pt" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="pt" dir="ltr" data-mw-parsoid-version="0.23.0.0-alpha27" data-mw-html-version="2.8.0"><section data-mw-section-id="0" id="mwAQ"><span typeof="mw:Transclusion" id="mwAg"></span>
<table class="infobox" style="text-align: center; font-size:90%;" typeof="mw:Transclusion" id="mwAw">
<tbody><tr><td style="text-align: center;"><b><a rel="mw:WikiLink" href="Biblioteca_padr%C3%A3o_do_C" title="Biblioteca padrão do C">Biblioteca padrão do C</a></b></td></tr>
<tr>
<td style="text-align: left;">
<ul><li><a rel="mw:WikiLink" href="Assert.h" class="mw-selflink selflink">assert.h</a></li>
<li><a rel="mw:WikiLink" href="Complex.h" title="Complex.h">complex.h</a></li>
<li><a rel="mw:WikiLink" href="Ctype.h" title="Ctype.h">ctype.h</a></li>
<li><a rel="mw:WikiLink" href="Errno.h" title="Errno.h">errno.h</a></li>
<li>fenv.h</li>
<li><a rel="mw:WikiLink" href="Float.h" title="Float.h">float.h</a></li>
<li>inttypes.h</li>
<li><a rel="mw:WikiLink" href="Iso646.h" title="Iso646.h">iso646.h</a></li>
<li><a rel="mw:WikiLink" href="Limits.h" title="Limits.h">limits.h</a></li>
<li><a rel="mw:WikiLink" href="Locale.h" title="Locale.h" class="mw-redirect">locale.h</a></li>
<li><a rel="mw:WikiLink" href="Math.h" title="Math.h">math.h</a></li>
<li><a rel="mw:WikiLink" href="Setjmp.h" title="Setjmp.h">setjmp.h</a></li>
<li><a rel="mw:WikiLink" href="Signal.h" title="Signal.h">signal.h</a></li>
<li><a rel="mw:WikiLink" href="Stdarg.h" title="Stdarg.h">stdarg.h</a></li>
<li><a rel="mw:WikiLink" href="Stdbool.h" title="Stdbool.h">stdbool.h</a></li>
<li><a rel="mw:WikiLink" href="Stddef.h" title="Stddef.h">stddef.h</a></li>
<li><a rel="mw:WikiLink" href="Stdint.h" title="Stdint.h">stdint.h</a></li>
<li><a rel="mw:WikiLink" href="Stdio.h" title="Stdio.h">stdio.h</a></li>
<li><a rel="mw:WikiLink" href="Stdlib.h" title="Stdlib.h">stdlib.h</a></li>
<li><a rel="mw:WikiLink" href="String.h" title="String.h">string.h</a></li>
<li><a rel="mw:WikiLink" href="Tgmath.h" title="Tgmath.h" class="mw-redirect">tgmath.h</a></li>
<li><a rel="mw:WikiLink" href="Time.h" title="Time.h">time.h</a></li>
<li><a rel="mw:WikiLink" href="Wchar.h" title="Wchar.h" class="mw-redirect">wchar.h</a></li>
<li><a rel="mw:WikiLink" href="Wctype.h" title="Wctype.h" class="mw-redirect">wctype.h</a></li></ul></td></tr>

</tbody></table><span>
</span>
<p id="mwBA"><b id="mwBQ">assert.h</b> é um <a rel="mw:WikiLink" href="Header" title="Header" class="mw-redirect" id="mwBg">cabeçalho</a> da <a rel="mw:WikiLink" href="Biblioteca_padr%C3%A3o_do_C" title="Biblioteca padrão do C" id="mwBw">biblioteca padrão do C</a>. Este cabeçalho traz a <a rel="mw:WikiLink" href="Defini%C3%A7%C3%A3o" title="Definição" id="mwCA">definição</a> da <a rel="mw:WikiLink" href="Macro" title="Macro" id="mwCQ">macro</a> <code id="mwCg">assert()</code> que implementa uma <a rel="mw:WikiLink" href="Asser%C3%A7%C3%A3o" title="Asserção" id="mwCw">asserção</a>, utilizada para verificar suposições feitas pelo <a rel="mw:WikiLink" href="Software" title="Software" id="mwDA">programa</a>. Sempre que a <a rel="mw:WikiLink" href="Express%C3%A3o" title="Expressão" class="mw-disambig" id="mwDQ">expressão</a> passada como <a rel="mw:WikiLink" href="Argumento" title="Argumento" id="mwDg">argumento</a> é falsa (igual a zero) então a macro escreve uma mensagem na saída padrão de erro e termina o programa chamando <code id="mwEA">abort()</code><sup class="mw-ref reference" id="cite_ref-man_1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-man-1" id="mwEQ"><span class="mw-reflink-text" id="mwEg"><span class="cite-bracket" id="mwEw">[</span>1<span class="cite-bracket" id="mwFA">]</span></span></a></sup>.</p>

<p id="mwFQ">Através da macro é possível diagnosticar problemas através da informação impressa pela macro<sup class="mw-ref reference" id="cite_ref-man_1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-man-1" id="mwFg"><span class="mw-reflink-text" id="mwFw"><span class="cite-bracket" id="mwGA">[</span>1<span class="cite-bracket" id="mwGQ">]</span></span></a></sup> que contém o nome do arquivo fonte, a linha do arquivo contendo a chamada para a macro, o nome da função que contém a chamada e o texto da expressão que foi avaliada.</p>

<p id="mwHA">Tal mecanismo pode ser desabilitado sem realizar mudanças no <a rel="mw:WikiLink" href="C%C3%B3digo-fonte" title="Código-fonte" id="mwHQ">código-fonte</a>. Com a definição da macro NDEBUG, <code id="mwHg">assert()</code> não gera código útil e passa a não ter efeito<sup class="mw-ref reference" id="cite_ref-man_1-2" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-man-1" id="mwHw"><span class="mw-reflink-text" id="mwIA"><span class="cite-bracket" id="mwIQ">[</span>1<span class="cite-bracket" id="mwIg">]</span></span></a></sup><sup class="mw-ref reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2" id="mwIw"><span class="mw-reflink-text" id="mwJA"><span class="cite-bracket" id="mwJQ">[</span>2<span class="cite-bracket" id="mwJg">]</span></span></a></sup>.</p>

</section><section data-mw-section-id="-1" id="mwJw" aria-labelledby="Referências"><div class="mw-heading mw-heading2"><h2 typeof="mw:Transclusion" id="Referências"><span id="Refer.C3.AAncias" typeof="mw:FallbackId"></span><span style="cursor: help;" title="Esta seção foi configurada para não ser editável diretamente. Edite a página toda ou a seção anterior em vez disso.">Referências</span></h2></div><span>

</span><div class="reflist" style=" list-style-type: decimal;" id="mwKA"><div class="mw-references-wrap" typeof="mw:Extension/references" id="mwKQ"><ol class="mw-references references" id="mwKg"><li id="cite_note-man-1" data-mw-footnote-number="1"><span rel="mw:referencedBy" class="mw-cite-backlink" id="mwKw"><a href="#cite_ref-man_1-0" id="mwLA"><span class="mw-linkback-text" id="mwLQ">1</span></a> <a href="#cite_ref-man_1-1" id="mwLg"><span class="mw-linkback-text" id="mwLw">2</span></a> <a href="#cite_ref-man_1-2" id="mwMA"><span class="mw-linkback-text" id="mwMQ">3</span></a></span> <span id="mw-reference-text-cite_note-man-1" class="mw-reference-text reference-text"><cite class="citation web" typeof="mw:Transclusion" id="mwMg"><a rel="mw:ExtLink nofollow" href="http://linux.die.net/man/3/assert" class="external text" id="mwMw">«assert(3) - Linux man page»</a> (em inglês). Linux Documentation<span class="reference-accessdate" id="mwNA">. Consultado em 7 de abril de 2010</span></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fpt.wikipedia.org%3AAssert.h&amp;rft.btitle=assert%283%29+-+Linux+man+page&amp;rft.genre=unknown&amp;rft.pub=Linux+Documentation&amp;rft_id=http%3A%2F%2Flinux.die.net%2Fman%2F3%2Fassert&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988" id="mwNQ"><span style="display:none;" id="mwNg"><span typeof="mw:Entity" id="mwNw">&nbsp;</span></span></span></span></li>
<li id="cite_note-2" data-mw-footnote-number="2"><span class="mw-cite-backlink" id="mwOQ"><a href="#cite_ref-2" rel="mw:referencedBy" id="mwOg"><span class="mw-linkback-text" id="mwOw">↑</span></a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text reference-text"><cite class="citation web" typeof="mw:Transclusion" id="mwPA"><a rel="mw:ExtLink nofollow" href="http://www.cplusplus.com/reference/clibrary/cassert/assert/" class="external text" id="mwPQ">«Assert - C++ Reference»</a> (em inglês). cplusplus.com<span class="reference-accessdate" id="mwPg">. Consultado em 7 de abril de 2010</span></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fpt.wikipedia.org%3AAssert.h&amp;rft.btitle=Assert+-+C%2B%2B+Reference&amp;rft.genre=unknown&amp;rft.pub=cplusplus.com&amp;rft_id=http%3A%2F%2Fwww.cplusplus.com%2Freference%2Fclibrary%2Fcassert%2Fassert%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988" id="mwPw"><span style="display:none;" id="mwQA"><span typeof="mw:Entity" id="mwQQ">&nbsp;</span></span></span></span></li>
</ol></div></div>

</section><section data-mw-section-id="1" id="mwQw" aria-labelledby="Ligações_externas"><div class="mw-heading mw-heading2"><h2 id="Ligações_externas"><span id="Liga.C3.A7.C3.B5es_externas" typeof="mw:FallbackId"></span>Ligações externas</h2></div>
<ul id="mwRA"><li id="mwRQ"><cite class="citation web" typeof="mw:Transclusion" id="mwRg"><a rel="mw:ExtLink nofollow" href="http://www.opengroup.org/onlinepubs/9699919799/basedefs/assert.h.html" class="external text">«The Open Group Base Specifications Issue 7: assert.h»</a> (em inglês)</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fpt.wikipedia.org%3AAssert.h&amp;rft.btitle=The+Open+Group+Base+Specifications+Issue+7%3A+assert.h&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.opengroup.org%2Fonlinepubs%2F9699919799%2Fbasedefs%2Fassert.h.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"><span typeof="mw:Entity">&nbsp;</span></span></span></li></ul>

<span>
</span>

</section></div><!--htdig_noindex--><div><div class="zim-footer">
    Este artigo é emitido por <a class="external text" title="Última edição em 2019-09-22" href="https://pt.wikipedia.org/wiki/?title=Assert.h&amp;oldid=56311119">Wikipédia</a>. O texto é licenciado sob <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.pt">Creative Commons Attribution-Share Alike 4.0</a>. Termos adicionais podem ser aplicados aos arquivos de mídia.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>