VS QT 里頭文件的<>和““的區別

今天在跑項目的時候遇到這么個問題,在添加api宏定義的時候,不加顯示無法識別的外部錯誤,加了顯示找不到文件。反正就是怎么都是錯的,但是我檢查了CmakeLists、模塊所在文件夾、項目路徑都是沒有問題的。非常奇怪。

然后就開始嘗試各種可能的錯誤,最后死馬當活馬醫的改了一下頭文件引入符號,把引入<xxxapi.h>文件改成了"xxxapi.h",哎奇了個怪了,就跑通了。明明<>的搜索范圍是包含了""的,咱也不知道為什么就是不行,只能說編碼規范問題,多注意吧。

正好乘此機會,總結一下<>和""的區別,給自己提個醒。


一、“ <> ”的作用

<>:通常用于引用標準庫頭文件或系統提供的庫頭文件。編譯器會在標準系統路徑下搜索這些頭文件。

敲重點,編譯器會在標準系統路徑下搜索這些頭文件。

示例

#include <iostream> // 引用標準庫頭文件
#include <QtCore/QDebug> // 引用 Qt 核心模塊的頭文件

?二、‘ "" ’的作用

"":通常用于引用自定義或項目特定的頭文件。編譯器會首先在當前項目目錄下搜索這些頭文件,然后再搜索系統路徑。

敲重點,編譯器會首先在當前項目目錄下搜索這些頭文件。

示例

#include "mycustomclass.h" // 引用項目中自定義的頭文件

明確了二者的搜索范圍,我們就清楚了最開始的問題:?

對于自定義的頭文件,理論上來說,使用<>也應該能夠找到頭文件,前提是需要將自定義頭文件放在編譯器能夠搜索到的標準系統路徑下。但通常情況下,我們更傾向于使用""來包含自定義的頭文件,因為這樣更直觀和方便。?

如果自定義頭文件放在了系統標準路徑下,使用 < > 是可以找到的。但如果頭文件放在項目目錄下或其他非系統路徑下,使用 " " 是更好的選擇,因為這樣可以明確告訴編譯器去當前項目目錄下搜索。

而實際操作上也看到了,說是可以找到,但是我就沒有找到。所以大家還是按編碼規范來最好!


奇怪的知識又增加了!?

都看到這里了,點個贊再走唄朋友~

加油吧,預祝大家變得更強!

點贊!點贊!點贊!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/14049.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/14049.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/14049.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux安裝KubeSphere

linux安裝KubeSphere 介紹 KubeSphere 是在目前主流容器調度平臺 Kubernetes 之上構建的企業級分布式多租戶容器平臺&#xff0c;提供簡單易用的操作界面以及向導式操作方式&#xff0c;在降低用戶使用容器調度平臺學習成本的同時&#xff0c;極大減輕開發、測試、運維的日常…

通聯支付API集成(適用于SpringBoot)

目標&#xff1a; 學習如何使用Java與通聯支付API進行交互 實現一個簡單的支付下單和查詢訂單狀態的示例 所需材料&#xff1a; 通聯支付API文檔 官方文檔https://aipboss.allinpay.com/know/devhelp/main.php?pid38#mid313 通聯支付加簽代碼SybUtil package com.allin…

【軟考中級 軟件設計師】計算機網絡和安全

計算機網絡和安全是軟件設計師&#xff08;軟考中級&#xff09;考試中的重要組成部分&#xff0c;它涵蓋了網絡基礎、網絡協議、網絡架構、網絡安全等多個方面。以下是一些核心概念和要點&#xff0c; 計算機網絡基礎 OSI七層模型&#xff1a;物理層、數據鏈路層、網絡層、傳…

LLM答案抽取|xFinder:針對大型語言模型的穩健且精確的答案提取

【摘要】大型語言模型&#xff08;LLM&#xff09;的不斷進步使人們越來越關注開發公平可靠的方法來評估其性能的關鍵問題。特別是測試集泄漏、提示格式過擬合等主觀或非主觀作弊現象的出現&#xff0c;給法學碩士的可靠評估帶來了重大挑戰。由于評估框架通常利用正則表達式 (R…

《最新出爐》系列初窺篇-Python+Playwright自動化測試-39-highlight() 方法之追蹤定位

1.簡介 在之前的文章中宏哥講解和分享了&#xff0c;為了看清自動化測試的步驟&#xff0c;通過JavaScript添加高亮顏色&#xff0c;就可以清楚的看到執行步驟了。在學習和實踐Playwright的過程中&#xff0c;偶然發現了使用Playwright中的highlight()方法也突出顯示Web元素。…

eNSP-集線器(hub)連接局域網

一、拓撲結構搭建 二、主機配置 pc1、pc2、pc3 三、測試 Hub相當于大家共享一條線路(類似于電線搭電)&#xff0c;線路上的所有的設備都會接收同樣的信息。

路由器不能端口映射什么原因?如何設置內網映射?

近期有小伙伴發來求助信息&#xff0c;他以前開游戲服務器和別人一起玩&#xff0c;那個時候端口映射還好&#xff0c;不知道哪一天開始突然不行了&#xff0c;已經是公網了&#xff0c;光貓是橋接的狀態&#xff0c;連路由器都換了&#xff0c;就是不能端口映射開服務器&#…

VAE-變分自編碼器(Variational Autoencoder,VAE)

變分自編碼器&#xff08;Variational Autoencoder&#xff0c;VAE&#xff09;是一種生成模型&#xff0c;結合了概率圖模型與神經網絡技術&#xff0c;廣泛應用于數據生成、表示學習和數據壓縮等領域。以下是對VAE的詳細解釋和理解&#xff1a; 基本概念 1. 自編碼器&#…

基于 Milvus Cloud + LlamaIndex 實現初級 RAG

初級 RAG 初級 RAG 的定義 初級 RAG 研究范式代表了最早的方法論,在 ChatGPT 廣泛采用后不久就取得了重要地位。初級 RAG 遵循傳統的流程,包括索引創建(Indexing)、檢索(Retrieval)和生成(Generation),常常被描繪成一個“檢索—讀取”框架,其工作流包括三個關鍵步…

AWS安全性身份和合規性之Key Management Service(KMS)

AWS Key Management Service&#xff08;KMS&#xff09;是一項用于創建和管理加密密鑰的托管服務&#xff0c;可幫助客戶保護其數據的安全性和機密性。 比如一家醫療保健公司需要在AWS上存儲敏感的病人健康數據&#xff0c;需要對數據進行加密以確保數據的機密性。他們使用AW…

課時134:awk實踐_邏輯控制_自定義函數

1.3.7 自定義函數 學習目標 這一節&#xff0c;我們從 基礎知識、簡單實踐、小結 三個方面來學習。 基礎知識 需求 雖然awk提供了內置的函數來實現相應的內置函數&#xff0c;但是有些功能場景&#xff0c;還是需要我們自己來設定&#xff0c;這就用到了awk的自定義函數功能…

WebSocket簡介

參考&#xff1a;Java NIO實現WebSocket服務器_nio websocket-CSDN博客 WebSocket API是HTML5中的一大特色&#xff0c;能夠使得建立連接的雙方在任意時刻相互推送消息&#xff0c;這意味著不同于HTTP&#xff0c;服務器服務器也可以主動向客戶端推送消息了。 WebSocket協議是…

使用TensorBoard記錄功能時,添加SummaryWriter到callbacks,某些版本可能不適用該如何修改

如果發現將SummaryWriter直接添加到callbacks不被支持&#xff0c;您可以采取另一種方式來集成TensorBoard記錄功能&#xff0c;即通過自定義回調函數來實現。Hugging Face Transformers庫允許用戶自定義訓練回調&#xff0c;這可以用來在訓練過程中向TensorBoard寫入日志。 下…

配置yum源

以下是在 Linux 系統中配置新的 yum 源的一般步驟和命令示例&#xff08;以 CentOS 系統為例&#xff09;&#xff1a; 備份原有 yum 源配置文件&#xff1a;mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 創建新的 yum 源配置文件&#xff08…

【PB案例學習筆記】-08 控件拖動實現

寫在前面 這是PB案例學習筆記系列文章的第8篇&#xff0c;該系列文章適合具有一定PB基礎的讀者。 通過一個個由淺入深的編程實戰案例學習&#xff0c;提高編程技巧&#xff0c;以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼&#xff0c;小凡都上傳到了gitee…

反序列化漏洞的入門知識總結

1.概念定義 序列化與反序列化的目的是讓數據在傳輸和處理的時候更簡單&#xff0c;更快&#xff0c;反序列化出現在多種同面向對象語言所開發的網站和軟件上&#xff0c;比如java&#xff0c;php&#xff0c;python等等&#xff0c;如果有語言一個都沒學的&#xff0c;可以先去…

1941springboot VUE 服務機構評估管理系統開發mysql數據庫web結構java編程計算機網頁源碼maven項目

一、源碼特點 springboot VUE服務機構評估管理系統是一套完善的完整信息管理類型系統&#xff0c;結合springboot框架和VUE完成本系統&#xff0c;對理解JSP java編程開發語言有幫助系統采用springboot框架&#xff08;MVC模式開發&#xff09;&#xff0c;系統具有完整的源代…

【NOIP2014普及組復賽】題2:比例簡化

題2&#xff1a;比例簡化 【題目描述】 在社交媒體上&#xff0c;經常會看到針對某一個觀點同意與否的民意調查以及結果。例如&#xff0c;對某一觀點表示支持的有 1498 1498 1498 人&#xff0c;反對的有 902 902 902 人&#xff0c;那么贊同與反對的比例可以簡單的記為 …

計算機-編程相關

在 Linux 中、一切都是文件、硬件設備是文件、管道是文件、網絡套接字也是文件。 for https://juejin.cn/post/6844904103437582344 fork 進程的一些問題 fork 函數比較特殊、一次調用會返回兩次。在父進程和子進程都會返回。 每個進程在內核中都是一個 taskstruct 結構、for…

ECMAScript、BOM與DOM:網頁開發的三大基石

在深入Web開發的世界時&#xff0c;有三個核心概念構成了理解網頁如何工作以及如何與之交互的基礎&#xff1a;ECMAScript、BOM&#xff08;Browser Object Model&#xff09;&#xff0c;以及DOM&#xff08;Document Object Model&#xff09;。本文旨在簡要介紹這三個概念&a…