当前位置: 首页 > news >正文

2311d导入c的语义不同

原文
以下D代码正常工作:

enum X = "X";
import core.stdc.stdio;
void main(){puts(X);
}

但是,如果该X枚举C文件#define的结果,则会出现错误:

//`x.c`
#define X "X"
//D代码
import x;
import core.stdc.stdio;
void main(){puts(X); //错误
}

错误:不能用"(char[2])"参数类型调用"core.stdc.stdio.puts(scope const(char*)s)"函数
无法传递"char[2]"类型参数的"X""scopeconst(char*)s"参数.
是因为C字面char[2]而不是const(char)[2].我会调查的.
问题出在expressionsem.d(4188):

if (sc && sc.flags & SCOPE.Cfile)e.type = Type.tchar.sarrayOf(e.len + 1);
elsee.type = Type.tchar.immutableOf().arrayOf();

不确定解决方法是否应该修复,毕竟C语义是不同的.
虽然,作为变通,可以:

puts(X.ptr);

相关文章:

2311d导入c的语义不同

原文 以下D代码正常工作: enum X "X"; import core.stdc.stdio; void main(){puts(X); }但是,如果该X枚举是C文件中#define的结果,则会出现错误: //x.c #define X "X" //D代码 import x; import core.stdc.stdio; void main(){puts(X); //错误 }错误:不…...

OpenHarmony Meetup北京站招募令

OpenHarmony Meetup城市巡回北京站火热来袭!!日期:2023年11月25日14:00地点:中国科学院软件园区五号楼B402与OpenHarmony技术大咖近距离互动,分享技术见解,结交志同道合的朋友!活动主题聚焦Open…...

C语言——冒泡排序

一、冒泡排序是什么 冒泡排序: 冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。升序时:它会遍历若干次需要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大&#x…...

08.智慧商城——购物车布局、全选反选、功能实现

01. 购物车 - 静态布局 基本结构 <template><div class"cart"><van-nav-bar title"购物车" fixed /><!-- 购物车开头 --><div class"cart-title"><span class"all">共<i>4</i>件商品…...

金属压块液压打包机比例阀放大器

液压打包机是机电一体化产品&#xff0c;主要由机械系统、液压控制系统、上料系统与动力系统等组成。整个打包过程由压包、回程、提箱、转箱、出包上行、出包下行、接包等辅助时间组成。市场上液压打包机主要分为卧式与立式两种&#xff0c;立式废纸打包机的体积比较小&#xf…...

python 自动化福音,30行代码手撸ddt模块

用 python 做过自动化的小伙伴&#xff0c;大多数都应该使用过 ddt 这个模块&#xff0c;不可否认 ddt 这个模块确实挺好用&#xff0c;可以自动根据用例数据&#xff0c;来生成测试用例&#xff0c;能够很方便的将测试数据和测试用例执行的逻辑进行分离。 接下来就带大家一起…...

基于GATK流程化进行SNP calling

在进行变异检测时&#xff0c;以群体基因组重测序数据为例&#xff0c;涉及到的个体基本都是上百个&#xff0c;而其中大多数流程均是重复的步骤。 本文将基于GATK进行SNP calling的流程写入循环&#xff0c;便于批量分析。 1 涉及变量 1.工作目录work_dir/ 2.参考基因组ref…...

【Java SE】如何解读Java的继承和多态的特性?

前言 什么是继承和多态&#xff0c;为什么被称为Java三大特性&#xff0c;这两大特性为我们程序员带来了什么影响呢&#xff1f;是让复杂的代码简化了&#xff0c;还是为程序员写代码提供了多样性呢&#xff1f;那让我们一起来揭开这层神秘的面纱吧&#xff01; 1.继承 1.1为…...

uniapp 手动调用form表单submit事件

背景&#xff1a; UI把提交的按钮弄成了图片&#xff0c;之前的button不能用了。 <button form-type"submit">搜索</button> 实现&#xff1a; html&#xff1a; 通过 this.$refs.fd 获取到form的vue对象。手动调用里面的_onSubmit()方法。 methods:…...

11月20日星期一今日早报简报微语报早读

11月20日星期一&#xff0c;农历十月初八&#xff0c;早报微语早读。 1、T1以3-0横扫WBG&#xff0c;拿下S13冠军&#xff01;Faker豪取第4冠&#xff1b; 2、天舟七号货运飞船已运抵文昌发射场&#xff0c;将于明年初发射&#xff1b; 3、“中韩之战”球票已经售罄&#xf…...

Unity中 Start和Awake的区别

Awake和Start在Unity中都是MonoBehaviour脚本中的生命周期函数 Awake函数在游戏对象首次被加载时调用&#xff0c;在游戏对象初始化之前调用。 start函数在游戏对象初始化完成后调用&#xff0c;在update第一次执行前调用。 这两个函数在其生命周期内都只会调用一次&#xf…...

进度条、git常见指令以及gdb的常用指令

进度条 进度条是笔者所接触的第一个更加贴近于系统的小玩意&#xff0c;主要是要理解回车、换行、换行回车和缓冲区的概念。 回车是回到当前行的第一个光标位置&#xff0c;换行是换到下一行但是光标还在原来的位置&#xff0c;换行回车就是键盘上面的回车键是回到下一行的第…...

ubuntu20编译安装pkg-config

从下载到安装的步骤如下: wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.tar.gztar -zxvf pkg-config-0.29.tar.gzcd pkg-config-0.29/./configure --with-internal-glibsudo makesudo make checksudo make install make过程中可能会遇到的问题&#x…...

奇富科技发布鸿蒙元服务1.0版本,打造鸿蒙生态金融科技全新体验

近日&#xff0c;奇富科技率先发布鸿蒙元服务1.0版本&#xff0c;成为首家融入鸿蒙生态的金融科技公司&#xff0c;为用户带来前所未有的数字生活体验。此次与华为终端云的全面合作&#xff0c;是两大行业领军者的深度融合&#xff0c;不仅实现技术的交融&#xff0c;更彰显两大…...

【Git学习一】初始化仓库git init的使用和提交git add与git commit的使用

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;Git等软件工具技术的使用 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要…...

Redux-状态管理组件

一、简介 react中的状态只属于某个组件。而Redux是一个全局管理js状态的架构&#xff0c;让组件通信更加容易。 之前是状态在所有组件间传递&#xff0c;而redux通过store来实现这个功能。 Redux特性&#xff1a; 1.Single source Of truth&#xff0c;通过store唯一维护状态…...

【bigo前端】egret中的对象池浅谈

本文首发于&#xff1a;https://github.com/bigo-frontend/blog/ 欢迎关注、转载。 egret是一款小游戏开发引擎&#xff0c;支持跨平台开发&#xff0c;之前使用这款引擎开发了一款捕鱼游戏&#xff0c;在这里简单聊下再egret中关于对象池的使用&#xff0c;虽然该引擎已经停止…...

用公式告诉你 现货黄金投资者要不要换策略?

看过笔者相关文章的朋友都知道&#xff0c;其实笔者是相当不鼓励投资者更改策略的。但这并不意味着&#xff0c;策略不能改或者换。之所以反对更改策略&#xff0c;是因为很多人对自己的策略还没上手&#xff0c;没了解清楚就急着换策略&#xff0c;这是没必要的。通过下面这个…...

系列六、多线程集合不安全

一、多线程List集合不安全 1.1、List集合不安全案例代码 /*** Author : 一叶浮萍归大海* Date: 2023/11/20 12:38* Description: 多线层环境下List集合不安全案例代码*/ public class NotSafeListMainApp {public static void main(String[] args) {List<String> list …...

MidJourney笔记(1)-入门

注册 MidJourney注册和使用方式,有点特别。在介绍注册之前,需要给大家先介绍Discord。 Discord是一家游戏聊天应用与社区,在国内用的人相对比较少,在国外用得比较多。 那MidJourney和Discord有什么关系呢? MidJourney是搭建在Discord上的一个人工智能程序,通过在Discord添…...

机器学习——聚类评价指标SSE、SC、CH演示案例

一.评价指标简介SSE考虑了簇内因素SSE越越小越好SSE&#xff0b;肘部法常用来确定聚类的最佳K值SC轮廓系数法考虑了簇内和簇间因素&#xff0c;数值越大越好CH考虑簇内&#xff0c;簇间以及K值因素&#xff0c;数值越大越好二.代码部分详解1.SSE&#xff0b;肘部法#1.演示SSE&a…...

如何快速构建数学可视化:Manim交互式开发完整教程

如何快速构建数学可视化&#xff1a;Manim交互式开发完整教程 【免费下载链接】manim Animation engine for explanatory math videos 项目地址: https://gitcode.com/GitHub_Trending/ma/manim 想要告别数学动画制作中反复修改代码、重新渲染的烦恼吗&#xff1f;&…...

Wireshark TCP重传与乱序深度分析实战指南

1. 这个pcap文件不是“普通流量”&#xff0c;而是TCP重传与乱序的教科书级现场录像你打开Wireshark&#xff0c;载入wireshark0051.pcap&#xff0c;第一眼看到的不是HTTP请求、DNS查询或TLS握手——而是一连串标红的[TCP Retransmission]、[TCP Out-Of-Order]和[TCP Dup ACK]…...

通过taotoken cli工具一键配置多开发环境下的api密钥与端点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过taotoken cli工具一键配置多开发环境下的api密钥与端点 在团队协作或个人多项目开发中&#xff0c;管理不同大模型服务的API密…...

Quantum ESPRESSO 终极快速入门指南:5天轻松掌握电子结构计算

Quantum ESPRESSO 终极快速入门指南&#xff1a;5天轻松掌握电子结构计算 【免费下载链接】q-e Mirror of the Quantum ESPRESSO repository. Please do not post Issues or pull requests here. Use gitlab.com/QEF/q-e instead. 项目地址: https://gitcode.com/gh_mirrors/…...

戴森球计划工厂蓝图:革命性工厂配置架构的5大技术突破

戴森球计划工厂蓝图&#xff1a;革命性工厂配置架构的5大技术突破 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints蓝图仓库代表了戴森球计划游戏中最先进…...

JMeter压测秒退的三大静默杀手:线程组、超时、监听器

1. 这不是JMeter“崩了”&#xff0c;而是它在用报错告诉你&#xff1a;配置里藏着三个沉默的杀手 刚跑完第一个JMeter压测脚本&#xff0c;线程组设了200个用户、持续5分钟&#xff0c;结果3秒后就自动停了——控制台只留下一行灰底白字的 INFO o.a.j.e.StandardJMeterEngine…...

基于YOLOv10的低延迟AI瞄准系统:多平台硬件加速与实时检测架构设计

基于YOLOv10的低延迟AI瞄准系统&#xff1a;多平台硬件加速与实时检测架构设计 【免费下载链接】yolov8_aimbot Aim-bot based on AI for all FPS games 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_aimbot Sunone Aimbot是一个基于YOLOv10深度学习模型的FPS游…...

终极APK编辑指南:APK Editor Studio完整使用教程

终极APK编辑指南&#xff1a;APK Editor Studio完整使用教程 【免费下载链接】apk-editor-studio Powerful yet easy to use APK editor for PC and Mac. 项目地址: https://gitcode.com/gh_mirrors/ap/apk-editor-studio APK Editor Studio是一款功能强大且易于使用的A…...

别再死记硬背了!用STM32CubeMX配置GPIO模式,这3个坑我帮你踩过了

STM32CubeMX实战&#xff1a;GPIO配置避坑指南与典型场景解析 刚接触STM32开发的工程师们&#xff0c;面对CubeMX中眼花缭乱的GPIO配置选项时&#xff0c;是否常感到困惑&#xff1f;推挽与开漏输出如何选择&#xff1f;上拉和下拉电阻何时需要&#xff1f;本文将结合LED驱动、…...