C ++中的.inc`文件有什么意义? C?你想用什么情况?

时间:2018-01-27 08:50:11

标签: c++ c

我确信之前已经提出这个问题,并且会被关闭并标记为重复但我发现它时遇到了问题......

例如,在llvm项目中的<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Batching test</title> <meta charset="utf-8"> <meta name="google-signin-client_id" content="<MyID>"> <meta name="google-signin-scope" content="https://www.googleapis.com/auth/analytics.readonly"> <!-- Load the JavaScript API client and Sign-in library. --> <script src="https://apis.google.com/js/client:platform.js""></script> <!--<script src="/batching/script.js"></script>--> </head> <body> <h1>Hello Analytics Reporting API V4</h1> <!-- The Sign-in button. This will run `queryReports()` on success. --> <p class="g-signin2" data-onsuccess="batchExecution"></p> <script> var VIEW_ID = '3213999'; var sessionsM = 'ga:sessions'; var transactionsM = 'ga:transactions'; // Query the API and print the results to the page. /*gapi.analytics.ready(function() { console.log('hi'); });*/ var analyticsReportRequest = function queryReports(chooseMetric) { gapi.client.request({ path: '/v4/reports:batchGet', root: 'https://analyticsreporting.googleapis.com/', method: 'POST', body: { reportRequests: [ { viewId: VIEW_ID, dateRanges: [ { startDate: '7daysAgo', endDate: 'today' } ], metrics: [ { expression: choseMetric } ] } ] } }).then(displayResults, console.error.bind(console)); }; var report1 = analyticsReportRequest(sessionsM); var report2 = analyticsReportRequest(transactionsM); function batchExecution() { var batch = gapi.client.newBatch(); batch.add(report1); batch.add(report2); } function displayResults(response) { var formattedJson = JSON.stringify(response.result, null, 2); document.getElementById('query-output').value = formattedJson; } </script> <!-- The API response will be printed here. --> <textarea cols="80" rows="20" id="query-output"></textarea> </body> </html> 。将此后缀用于cpp文件有什么意义?

1 个答案:

答案 0 :(得分:9)

扩展名与.h或.hpp不同。无论谁决定以这种方式命名文件,我都不在那里。除了惯例之外,没有特别的原因可以确定扩展。

正如Jonathan指出的那样,可能是将它与&#34;常规头文件区分开来&#34;可以在任何地方使用。

包含这些文件的上述评论可能是一个合理的解释:

// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Signals.inc"
#endif
#ifdef LLVM_ON_WIN32
#include "Windows/Signals.inc"
#endif

这些包含特定于平台的部分,因此它不是&#34;头文件&#34;,它只是依赖于目标体系结构的代码的一部分,并且有人认为它是&#39最好有两个单独的文件,而不是在一个源文件中有一个巨大的#ifdef。 [在我看来,一个合理的决定,因为我看到的Unix文件是几百行,包括更多内容,还有一些#if]