天道酬勤,学无止境

Netbeans与基于libsass的SASS编译器不兼容的解决办法

问题

Could not find an option named "cache-location".

如果你在Netbeans 10、11、12上使用基于libsass的任何一款SASS编译器来编译scss文件,比如来自https://sass-lang.com的sass编译器,你会遇到上面的那个问题,而且scss不会被编译。

导致问题的原因

简单的说,Netbeans 10、11、12被Apache incubator重构之后,与SASS集成的这部分功能是基于Ruby SASS来做的可用性测试,并非libsass。所以当你尝试使用基于libsass的SASS编译器时可能会出问题。

解决办法

解决办法很简单,就是在netbeans的启动参数中添加一个配置项,以在Netbeans上启用基于libsass的编译器。方法如下:

  1. 找到Netbeans.conf文件,此文件位于Netbeans安装目录下的etc文件夹中。<nb_install_dir>/netbeans/etc
  2. 在netbeans.conf文件中找到“netbeans_default_options”配置项。此项的配置参数众多,你只需要将用于激活libsass支持的配置参数放在最后面即可。如下所示:
    netbeans_default_options="-J-XX:+UseStringDeduplication -J-Xss2m -
    ... -
    XX:+IgnoreUnrecognizedVMOptions -J-Dnb.sass.libsass=true"

    然后保存netbeans.conf文件并重启netbeans。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • HBuilder X 配置sass/scss
    HBuilder X 配置sass/scss 在工具栏上,找到工具–》插件安装–》插件市场–》搜索sass,步骤如下图所示: 这两种方法选择一种安装插件即可,安装完记得重启hBuilderX软件 接下来在工具–》插件配置–》选择sass插件的–》package.json文件进行编辑 只需修改key(快捷键)和把"onDidSaveExecution"的值改为true,保存即可 接下就可以进行写sass/scss文件了。 可能有些朋友跟我一样,出现了以下的错误提示: [编译scss/sass] 15:56:14.903 [0;31m--> LibSass 的二进制文件(G:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-x64-64\binding.node)缺失,请执行下面3条命令下载对应版本的二进制文件:(有可能引发此错误的原因是 Node 版本变更)[0m [编译scss/sass] 15:56:14.903 mkdir -p G:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-x64-64 [编译scss/sass] 15:56:14.903 cd G
  • Sass 3.3与Compass兼容吗?(Is Sass 3.3 compatible with Compass?)
    问题 我刚刚升级到Sass 3.3,以便可以使用一些新功能(BEM样式的类名,映射,@ at-root等)。 如果我使用Sass编译我的项目(通过sass --watch ),它就可以正常工作。 但是,如果使用Compass(通过compass watch )进行编译,则在使用新的Sass功能时会出现错误。 我正在使用Compass 0.12。 回答1 指南针0.12明确依赖于Sass 3.2。 即使您安装了较新版本的Sass,它仍将使用3.2进行编译。 为了使用Sass 3.3或更高版本,您必须使用Compass 1.0或更高版本。 通常,运行gem install命令应该会为您提供最新的稳定版本。 gem install compass 在问这个问题时,指南针1.0仍处于测试阶段。 要安装gem的最新Beta版本,您将需要使用--pre标志进行安装。 gem install compass --pre 请注意,您无需先安装Sass即可使其工作。 安装Compass会自动安装与其兼容的最新版本的Sass。 我安装了Compass 1.0,但仍然出错 仔细检查您可能具有的其他任何依赖项(指南针扩展等),其中之一可能是指定了较旧版本的Sass或Compass。 如果您使用的是应用程序或构建工具,而不是直接使用命令,请确保它们没有引用旧版本的Compass。 Windows用户
  • Bootstrap 3 Glyphicons无法正常工作(Bootstrap 3 Glyphicons are not working)
    问题 我下载了bootstrap 3.0,但无法使用字形图标。 我收到某种“ E003”错误。 任何想法为什么会这样? 我在本地和在线都尝试过,但仍然遇到相同的问题。 回答1 我遇到了同样的问题,除了此页面上的隐藏评论之外,找不到任何有关它的信息。 根据Chrome的显示,我的字体文件可以很好地加载,但是图标显示不正确。 我正在回答这个问题,因此有望对其他人有所帮助。 我从Bootstrap 3的定制工具下载的字体文件出了问题。 要获取正确的字体,请转到Bootstrap主页并下载完整的.zip文件。 从那里提取四个字体文件到您的fonts目录,一切应该正常。 回答2 读者注意:关于自定义程序中的错误,请务必阅读@ user2261073的注释和@Jeff的答案。 这很可能是您造成问题的原因。 字体文件未正确加载。 检查文件是否在预期位置。 @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons
  • 4399前端笔试题2019
    文章导航 免责声明题目分享一、单选题二、技术问答题三、编程题四、主观问答题 免责声明 有关本博文试题源自4399校园招聘2019,仅供参考,如有侵权,请告知删除! 题目分享 一、单选题 以下不是 TCP 具有的能力的是 C A. 数据可靠传输 B. 有连接 C. 数接序到达 D. 端到量控制 深度为k的二叉树至多有几个结点 D A. 2^k B. 2^(k-1) C. 2^k+1 D. 2^k-1 叶子节点数至多 2^(k-1) 节点数之多 2^k-1 以下哪个不是 XSS 攻击的类型? D A. 存储型XSS B. 反射型XSS C. DOM型XSS D. 关系型XSS 以下哪个不是 CSS 盒模型的属性?A A. font B. margin C. padding D. border 以下属性哪一个可以实现层的隐藏? D A. display: " B. display: false C. display: hidden D. display: none 以下哪种加载资源的方式可以同时支持 http 和 https 的方式请求? C A. <link type="text/css" href='//4399.com/style.css'> B. <link type="text/css" href='https://43399.com/style.css'> C. <link
  • 无法在OS X“ El Capitan”上安装gem(Can't install gems on OS X “El Capitan”)
    问题 我无法在El Capitan Beta 5上安装和运行fakes3 gem。 我试过: sudo gem install fakes3 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/fakes3 然后我尝试用cocoapods的方式来做。 它适用于cocoapods,但不适用于假货3。 mkdir -p $HOME/Software/ruby export GEM_HOME=$HOME/Software/ruby gem install cocoapods [...] 1 gem installed gem install fakes3 ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory. 回答1 免责声明: @theTinMan和其他Ruby开发人员经常指出在安装gems时不要使用sudo ,并指向RVM之类的东西。 在进行Ruby开发时,这是绝对正确的。 继续使用。 但是,我们许多人只希望一些二进制文件恰巧作为gem分发(例如, fakes3 ,
  • 如何修复java.lang.UnsupportedClassVersionError:不支持的major.minor版本(How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version)
    问题 我正在尝试使用Notepad ++作为我的多合一工具进行编辑,运行,编译等。 我已经安装了JRE,并且已将路径变量设置到.../bin目录。 当我在Notepad ++中运行“ Hello world”时,出现以下消息: java.lang.UnsupportedClassVersionError: test_hello_world : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) ......................................... 我认为这里的问题是关于版本的。 Java的某些版本可能太旧或太新。 我如何解决它? 我应该安装JDK,然后将路径变量设置为JDK而不是JRE吗? JRE或JDK中的PATH变量之间有什么区别? 回答1 显示的版本号描述了与类文件兼容的JRE的版本。 报告的主要数字是: Java SE 15 = 59, Java SE 14 = 58, Java SE 13 = 57, Java SE 12 = 56, Java SE 11 = 55, Java SE 10 = 54
  • CSS预编译、管理工具和网络安全的相关面试题
    【前端面试题】有关CSS预编译、管理工具和网络安全的相关面试题 其实,除了核心的HTML、CSS、JavaScript技术外,像CSS预编译、前端框架,如Vue,React、Node、Angular;代码管理工具,如git,代码编辑器,sublime text,还有测试,网络安全等相关技术也是需要会一些。当然要求可能不会那么高,但至少要懂一些。所有今天准备了一些其他于前端相关的面试题供大家学习参考。希望对大家有所帮助。 CSS预编译面试题 在大型项目中,为了提高CSS的可维护性,人们开始使用CSS预编译技术。 CSS预编译部分的面试题主要考察开发者对CSS预编译技术的使用。 当然,CSS预编译技术中的变量、混合、方法、继承、作用域、语句、插值等也是应试者需要了解的。 目前CSS预编译器主要有3种,分别是Less、 Sass、Stylus,应试者可以选择一种,了解它的使用方式。 1、scss是什么?有哪几大特性? sass是CSS预处理语言,scss是Sass语言中一套语法的拓展名。scss的特征是可以将CSS当作函数编写,可以定义变量,可以嵌套定义,可以使用语句等。 2、安装和使用Sass的步骤是什么? 具体步骤如下。 (1)通过npm安装css-loader、 node-loader、sass- loader等加载器模块。 (2)在 webpack .config
  • netbeans中的“无法编译的源代码” RuntimeException(“Uncompilable source code” RuntimeException in netbeans)
    问题 我正在尝试帮助正在使用Netbeans的其他开发人员。 当他在Netbeans(6.9.1)中运行或调试其某些代码时,将获得“不可编译的源代码” RuntimeException 。 我对Java有相当的经验,但是对IntelliJ更加熟悉,并且根本没有使用过Netbeans。 我做了一些谷歌搜索,似乎Netbeans甚至会编译包含错误的代码,然后将RuntimeException抛出错误。 (IMO的行为很差,但是我想有些人会发现它很有用。)我让他完全重建了项目,没有编译错误,但是RuntimeException似乎仍然发生。 我认为他在Netbeans的某个深处有一些不良的缓存类数据。 2个问题: 清除缓存的最佳方法是什么,以便我们找出无法编译的代码在哪里? 有什么办法可以关闭此行为,以便除非所有内容都可以编译,否则代码将不会运行/调试,因此不会将这些RuntimeException注入代码中? 我已经在Google上进行了一些搜索,但是还没有找到这两个问题的答案。 更新:更多信息: 关闭“在保存时编译”选项会使问题消失。 再次打开CoS将带回异常。 不幸的是,这不是解决方法,因为CoS是一个非常有用的选项。 http://netbeans.org/bugzilla/show_bug.cgi?id=182009似乎是最接近的错误报告,但已以“ RESOLVED
  • Sass-处理继承的财产?(Sass - Manipulate inherited property?)
    问题 在Sass中,是否有可能操纵给定元素已经继承的值? 我的目标是这样的: body color: blue .warning color: red strong color: darken(inherit,20) 回答1 遗产 否。Sass不会“知道”从哪个选择器继承颜色。 必须知道strong是body的后裔。 对于您和我来说,这似乎是一个足够合理的假设,因为在身体外部不允许strong ,但是大多数选择器都无法做出这种假设。 Sass还必须知道其他祖先元素不会发生级联。 ul { color: red; } ol { color: blue; } li { // which color do I inherit from ???? } 那么我可以指定我想从副本选择? Sass也不授予以任何方式访问任何先前声明的变量的值的权限。 没有办法指定“比身体的颜色更深”。 CSS规则不是对象或映射,并且不能以任何方式访问。 您的情况可能很简单,但请考虑一个更复杂的情况,例如: .foo { background: mix(white, blue); // fallback for non-rgba browsers background: rgba(blue, .5); .baz & { background: yellow; } @media (min-width 30em) {
  • 适用于Linux的C ++ IDE? [关闭](C++ IDE for Linux? [closed])
    问题 关闭。 此问题不符合堆栈溢出准则。 它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 5年前关闭。 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 我想将编程视野扩展到Linux。 一个好的,可靠的基本工具集很重要,还有什么比IDE更基本的呢? 我可以找到以下SO主题: 适用于Linux和Windows的轻量级IDE 您使用什么工具在Linux上开发C ++应用程序? 我不是在寻找轻量级的IDE。 如果IDE值得花钱,那么我会为此付费,因此它不一定是免费的。 然后,我的问题是: Linux有什么好的C ++编程IDE? 最低限度是相当标准的:语法高亮,代码完成(例如intellisense或其Eclipse对应物)和集成调试(例如基本断点)。 我已经亲自搜索过它,但是有太多的东西几乎是不可能的,尤其是对于像我这样在Linux上几乎没有C ++编码经验的人来说,手工将优点与缺点分开是几乎不可能的。 我知道Eclipse支持C ++,我真的很喜欢Java的IDE,但是它对C ++有好处吗,还有什么更好的选择吗? 第二篇文章实际上提出了一些好的建议,但是我所缺少的是究竟是什么使Sugested IDE对用户如此好,它的(缺点)有什么优点? 因此,也许我的问题应该是: 您提出什么IDE
  • Angular CLI SASS选项(Angular CLI SASS options)
    问题 我是Angular的新手,我来自Ember社区。 尝试使用基于Ember-CLI的新Angular-CLI。 我需要知道在新的Angular项目中处理SASS的最佳方法。 我尝试使用ember-cli-sass回购协议来查看它是否可以正常运行,因为Angular-CLI的许多核心组件都使用了Ember-CLI模块。 它没有用,但还是不确定我是否配置错误。 另外,在新的Angular项目中组织样式的最佳方法是什么? 最好将sass文件与组件放在同一文件夹中。 回答1 Angular CLI版本9 (用于创建Angular 9项目)现在从原理图中获取style ,而不是styleext 。 使用如下命令: ng config schematics.@schematics/angular:component.style scss 然后生成的angular.json看起来应该像这样"schematics": { "@schematics/angular:component": { "style": "scss" } } 其他可能的解决方案和解释: 要创建具有sass支持的angular CLI的新项目,请尝试以下操作: ng new My_New_Project --style=scss 您也可以使用--style=sass &,如果您不知道它们之间的区别,请阅读这篇简短易懂的文章
  • How to use SASS with Netbeans 8.0.1
    I'm trying to use SASS in Netbeans 8.0.1. I have Ruby and SASS set up correctly based upon the feedback from ruby -v. I have a web application set up with css and scss folders under Project\Web Pages\resources. My input and output are set to /scss and /css respectively and I have checked 'Compile Sass File on Save'. I have created a styles.scss file and added some SASS/CSS. When I save the styles.scss file, is it supposed to generate a styles.css? Nothing happens when I save or compile the project. Has anyone run into any similar problems or have suggestions on how to debug this problem
  • 错误的类文件魔术或版本(Bad class file magic or version)
    问题 我已经知道这个问题已经被经常问到并回答了,但是我发现没有一个答案可以解决我的问题。 这是错误的: Error:Gradle: Execution failed for task ':ffcommunity:preDexDebug'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: D:\Android SDK\sdk\build-tools\20.0.0\dx.bat --dex --output D:\Users\ReVo\Documents\IntelliJ IDEA\FFCommunity\ffcommunity\build\intermediates\pre-dexed\debug\bananaquery-2ee85432877a057e7414910b8127805535139d5d.jar D:\Users\ReVo\Documents\IntelliJ IDEA\FFCommunity\ffcommunity\libs\bananaquery.jar Error Code: 1 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.cf.iface.ParseException: bad class
  • 识别和解决javax.el.PropertyNotFoundException:目标不可访问(Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable)
    问题 当尝试像#{bean.entity.property}这样引用EL中的托管bean时,有时会抛出javax.el.PropertyNotFoundException: Target Unreachable通常会在设置bean属性或执行bean操作时抛出javax.el.PropertyNotFoundException: Target Unreachable异常。被调用。 似乎有五种不同的消息: 目标无法到达,标识符“ bean”解析为空目标无法到达,“实体”返回null 目标无法到达,“ null”返回null 目标无法访问,“ 0”返回null 目标无法到达,“ BracketSuffix”返回null 它们都是什么意思? 它们是如何引起的,应该如何解决? 回答1 1.无法到达目标,标识符“ bean”解析为空 可以归结为,像#{bean}一样,无法通过EL中的那个标识符(托管Bean名称)精确地找到托管Bean实例本身。 查明原因可以分为三个步骤: 一种。 谁在管理bean? b。 (默认)托管Bean名称是什么? C。 支持bean类在哪里? 1a。 谁在管理bean? 第一步是检查哪个bean管理框架负责管理bean实例。 是通过@Named的CDI吗? 还是通过@ManagedBean的JSF ? 或者是通过@Component的Spring ?
  • java.lang.RuntimeException:无法编译的源代码-这是什么引起的?(java.lang.RuntimeException: Uncompilable source code - what can cause this?)
    问题 这个错误很奇怪,我的代码可以很好地编译,我可以看到它没有问题,但是这个错误刚刚弹出。 我尝试重新启动NetBeans,并且没有其他异常信息。 是什么原因造成的? 回答1 我猜您正在使用一个IDE(如Netbeans),即使某些类不可编译,它也允许您运行代码。 在应用程序的运行时,如果您访问此类,则会导致此异常。 回答2 如果是Netbeans,请尝试取消选中项目属性(“构建”->“编译”)中的“保存时编译”设置。 这是唯一在类似情况下对我有所帮助的事情。 回答3 这是由于NetBeans在其缓存中保留了一些旧的源代码和/或已编译的代码,而没有注意到例如某些代码的依赖项(即引用的程序包)已更改,并且文件的正确刷新/重新编译应按顺序进行。 解决方案是通过以下任一方法强制刷新: a)查找并编辑有问题的源文件以强制其重新编译(例如,添加虚拟行,保存,删除它,再次保存), b)做一个干净的构建(有时会工作,有时不会), c)禁用“保存时编译”(不建议使用,因为它可以使使用IDE成为皇家PITA),或者 d)只需手动删除NetBeans缓存,强制重新编译。 关于如何删除缓存: 如果您使用的是旧版的NetBeans,请执行以下操作: 删除与.netbeans/6.9/var/cache/index/与项目相关的所有内容(将6.9替换为您的版本)。 如果您使用的是更新的: 在AppData
  • 企业级服务器必备的常识
    半年服务器操作工,工作心得体会。 入职新公司主要做图形处理。(理解了)公司为啥用Ubuntu?图形化处理能力强。 公司的操作系统多是在Ubuntu基础上 的由高级程序员封装的。(在Ubuntu基础上,运行某个软件。) (比如koala系统。是一个前端预处理器语言图形编译工具,支持Less、Sass、Compass、CoffeeScript,帮助web开发者更高效地使用它们进行开发。跨平台运行,完美兼容windows、linux、mac。) 总体思路是:在服务器系统的正常运行的基础上,看硬件是否能识别。Ubuntu服务器操作系统:命令篇:查看磁盘大小及挂载情况: $ lsblk $ df -h大于2T 磁盘操作:# df -T /h 查看磁盘的文件类型,使用情况 挂载点parted 命令 用于操作容量大于2T 的磁盘# parted -s /dev/sda mklabel gpt mkpart primary 0% 100%上述命令用于磁盘分区# mkfs.ext4 /dev/sda1格式化磁盘,.ext4是文件格式。也可以是.xfs查看显卡: nvidia-smi 查看内存: free –m查看时间:date –R暂时修改时间 :date –s “2019-01-01 01:01:00”永久修改时间: hwclock –w (一般用法:先运行 date –s “…..”保证时间准备
  • webpack5快发布了,你还没用过4吗?
    引言webpack5 预计会在 2020 年年初发布,之前从 alpha 版本就有关注,本次重点更新在长期缓存,tree shakking 和 es6 打包这块。具体变更可以参考https://github.com/webpack/changelog-v5/blob/master/README.md。webpack 是现代前端开发中最火的模块打包工具,只需要通过简单的配置,便可以完成模块的加载和打包。那它是怎么做到通过对一些插件的配置,便可以轻松实现对代码的构建呢?本篇文章不会去探讨 webpack5 中所要更新的内容,我相信大多数前端同学对于 webpack 只是会简单的配置,而且现在像 vue-cli、umi 等对于 webpack 都有很好的封装,但其实这样对于我们自己是不太好的。尤其是想针对业务场景去做一些个性化的定制时。只有对 webpack 中的细节足够了解,我们才能游刃有余,本文将从 webpack 现有的大版本 webpack4,带你一步步打造极致的前端开发环境。安装 webpack 的几种方式global(全局):通过 webpack index.js 运行local(项目维度安装):通过 npx webpack index.js 运行避免全局安装 webpack(针对多个项目采用不同的 webpack 版本进行打包的场景),可采用npxentry(入口)单一入口
  • Wepy 微信小程序项目踩坑记
    今天接到一个新任务,修改一个 wepy 框架开发的微信小程序。 在代码的 REDEAD.md 文件里: npm install wepy-cli -g wepy -v 1.7.3 $ npm install @wepy/cli -g # 全局安装 WePY CLI 工具 $ wepy init standard myproj # 使用 standard 模板初始化项目 $ cd myproj # 进入到项目目录 $ npm install # 安装项目依赖包 $ npm run dev # 监听并且编译项目 按照要求用命令:npm install wepy-cli -g 安装框架,结果安装完成后,wepy -v 后的版本是 2.1.0。 继续: npm install 安装依赖包的时候报错,忘记截图了,反正大概意思是:用2.x版本运行1.x版本 没办法,只能卸载 wepy-cli,重新装指定版本 先用的命令卸载,但是没起作用,只好去 AppData 的 npm 里直接删掉,然后重新安装1.7.3版本: //查看版本 npm ls -g --depth=0 //卸载 wepy-cli npm uninstall -g wepy-cli //安装特定版本 @1.7.3 npm install -g wepy-cli@1.7.3 然后运行:npm run dev 提示如图: 按照操作提示
  • 管理CSS爆炸(Managing CSS Explosion)
    问题 我一直在严重依赖CSS来开发我正在工作的网站。 现在,所有CSS样式都在每个标记的基础上应用,因此现在我正尝试将其移至更多外部样式中,以帮助将来进行任何更改。 但是现在的问题是,我注意到我遇到了“ CSS爆炸”。 对我来说,决定如何最好地组织和抽象CSS文件中的数据变得越来越困难。 我正在网站中使用大量div标签,而不是使用基于表格的网站。 因此,我得到了许多如下所示的CSS选择器: div.title { background-color: blue; color: white; text-align: center; } div.footer { /* Styles Here */ } div.body { /* Styles Here */ } /* And many more */ 还算不错,但是作为我的初学者,我想知道是否可以就如何最好地组织CSS文件的各个部分提出建议。 我不想为网站上的每个元素都拥有单独的CSS属性,并且我一直希望CSS文件相当直观且易于阅读。 我的最终目标是简化CSS文件的使用并展示其强大功能以提高Web开发的速度。 这样,将来可能在此站点上工作的其他个人也将参与使用良好编码实践的实践,而不必像我以前那样去实践。 回答1 这个问题问得好。 在我所看到的所有地方,CSS文件都会在一段时间后变得失控-特别是(但不仅限于)团队合作时。
  • 逻辑运算符的书面版本(The written versions of the logical operators)
    问题 这是我见过的唯一地方, and , or not被列为C ++中的实际运算符。 当我在NetBeans中编写一个测试程序时,我得到了红色下划线,好像有语法错误,并认为该网站是错误的,但是NetBeans是错误的,因为它按预期进行了编译和运行。 我看得出来! 正在优于not ,但可读性and && or似乎比它们的语法兄弟更大。 为什么存在这些版本的逻辑运算符,为什么似乎没有人使用它? 这是真正有效的C ++还是该语言随附的与C的某种兼容性? 回答1 它们起源于C中的标头<iso646.h>。 当时有一些键盘无法为&&键入所需的符号(例如),因此标题包含#define ,它们可以(在我们的示例中)通过定义and为&&来帮助他们。 当然,随着时间的流逝,这种使用变得越来越少了。 在C ++中,它们成为了所谓的替代令牌。 你不需要包括任何在兼容的编译器使用这些标记(如,例如,在C ++ -指明分数C头的版本, <ciso646>为空)。 除拼写外,替代标记与常规标记类似。 所以在解析and是完全一样&& ,它的拼写同样的事情只是用不同的方式。 关于它们的用法:由于很少使用它们,因此使用它们通常比有用的方法更加令人惊讶和困惑。 我敢肯定,如果这是正常的话,它们会更容易阅读,但是人们习惯了&&和|| 其他任何事情都会使人分心。 编辑:自从我发布了这篇文章以来