我已经seen this question了,我想知道是否有任何技术理由可以证明gcc支持Java但不支持C#.如果我理解,Java也是一种解释性语言.如果Mono提供C#编译器和CIL的实现,为什么不能创建一个将C#转换为IL然后静态编译的gcc c#编译器?

解决方法:

如果编译器工具链不支持特定语言,那通常是因为目前对该语言没有足够的兴趣.所以,这本身并不是技术上的原因 – 只是因为他们现在不想浪费开发人员的时间.

理论上,C#在理论上不能作为静态编译语言实现,这没有特别的技术原因.然而,在实践中,泛型是C#的核心优势之一,但不幸的是,由于泛型在这种特定语言中的工作方式,它们的任何有效实现通常都会从JIT编译器的存在中获益良多.在C#中定义泛型类型时,可以有效地获取所有具体类型的机器代码,其中类型参数是类,每个使用的结构类型都有一个机器代码.但是,当您尝试跨另一个二进制文件创建新的具体类型时,您最有可能创建这些类型参数所需的新机器代码片段是一个JIT编译器.

如果您对使用C#创建静态链接程序感兴趣(而不是专门用于gcc),那么Mono确实提供了一个工具(我认为称为mkbundle),它允许您从C#代码创建完全独立的二进制文件.

标签:c,gcc

来源: https://codeday.me/bug/20190717/1490460.html

gcc是java的什么意思_为什么gcc支持Java而不是C#相关推荐

  1. 支持java虚拟主机_为何缺乏支持Java的虚拟主机

    现在很多站长们,都青睐于香港虚拟主机建站.现在常见的是asp和PHP的程序空间很多,但是Java的少之又少,下面小编我给大家聊一聊! 一.香港Java虚拟主机成本高 使用Java程序建站,就必须要用支 ...

  2. java list e 查找_源码(04) -- java.util.ListE

    java.util.List 源码分析(JDK1.7) ------------------------------------------------------------------------ ...

  3. java 基础 笔试题_非常全面的java基础笔试题

    1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...

  4. 李兴华java视频在线观看_李兴华Java开发实战经典视频教程_IT教程网

    资源名称:李兴华Java开发实战经典视频教程 资源目录: [IT教程网]010201_[第2章:简单Java程序]_简单Java程序 [IT教程网]010301_[第3章:Java基础程序设计]_Ja ...

  5. 李兴华java实战经典视频_李兴华Java开发实战经典视频教程

    资源名称:李兴华Java开发实战经典视频教程 资源目录:[一品资源网]010201_[第2章:简单Java程序]_简单Java程序[一品资源网]010301_[第3章:Java基础程序设计]_Java ...

  6. java 报文长度计算_从TcpClient.GetStream()读取而不知道长度 - java

    我正在研究基于TCP的通信协议.我所知 有很多方法可以确定何时结束阅读. 在消息末尾关闭连接 将消息的长度放在数据本身之前 使用分隔符:一些在正常数据中永远不会出现的值(或者总会以某种方式转义) 通常 ...

  7. java中char类型_【考点】JAVA中的char类型

    写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...

  8. java面试32问_学员分享:JAVA面试32问(11-20)

    第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;有错,s1是shor ...

  9. java虚拟机类加载机制_《深入理解java虚拟机》学习笔记一/类加载机制

    为何要读这本书? 近期看了左萧龙大哥的单例设计模式,后文讲解到了JVM对类实例化相关知识,感觉看着很无力,不懂,于是乎买本书研究下. 如何读? 个人水平一般,理解程度有限,书中说到每章关联不是很大,所 ...

最新文章

  1. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别
  2. SQL Server常用的系统存储过程应用实例
  3. TCP三次握手四次挥手 TCP/UDP区别
  4. 使用QT的一些小Tipster
  5. Android学习----发行版本
  6. 数据库sqlite3怎么排顺序_【数据库02】MySQL数据库面试题
  7. python whl文件_python whl是什么文件
  8. Linux重置root 密码
  9. cbrt c语音,多态性(C语言)
  10. 用mission planner或者3drradioconfig软件配置X-ROCK数传电台
  11. 矩阵存储 oracle表,矩阵存储方案 - Oracle® Developer Studio 12.5:性能库用户指南
  12. Android:关灯游戏简单闯关
  13. 2012年十大外版图书
  14. 使用userAgent检测内核、平台、Windows 操作系统、移动设备..
  15. Comparison of VoIP software(VoIP软件比较)
  16. MyBatis xml动态sql insert批量插入 报错Operand should contain 1 column(s)
  17. matlab鼠标光标变黑,win7系统鼠标光标变成黑色方块了的解决方法
  18. 深入理解操作系统(12)第四章:处理器体系结构(4)Y86-64的流水线实现(包括:PIPE-处理器/预测下一个PC/分支预测/流水线冒险/暂停,转发避免冒险/PPE硬件结构及实现/CPI)
  19. java基础——构造方法
  20. [GXYCTF2019]佛系青年

热门文章

  1. mysql数据库version版本控制_MySQL数据库版本控制
  2. 更改span标签样式_CSS 内嵌样式
  3. matlab二次二阶距,用Matlab改进一次二阶矩法程序.doc
  4. python中变量名后的逗号_深入浅析python变量加逗号,的含义
  5. php copy 文件夹,php删除与复制文件夹及其文件夹下所有文件的实现代码
  6. mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数
  7. STM32F1笔记(十一)ADC
  8. Win32ASM学习[17]:条件跳转
  9. Jmeter BeanShell学习(一) - BeanShell取样器(一)
  10. vs2017编译QT with ssl