.cc扩展名是什么语言?C语言必须用.c为扩展名吗?主流编程语言扩展名?Java为什么不能用全数字的文件名?

ops/2025/2/6 11:37:44/

.cc扩展名是什么语言?

.cc是C++语言使用的扩展名,一种说法是它是c with class的简写,当然C++语言使用的扩展名不止.cc和.cpp, 还包含.cxx, .c++, .C等,这些在不同编译器系统采用的默认设定不同,需要区分使用。当然,编译器提供编译选项将源代码指定为特定编程语言的方式,例如gcc提供-x c++将源代码指定为c++代码,哪怕源代码扩展名是.java也会被当做c++代码。

关于.cc扩展名,Google内部的C++语言开发规范将.cc作为标准C++文件扩展名,但这只是Google,其它公司没有明确表明一定用.cc.

C语言必须用.c为扩展名吗?

不一定,扩展名只是为了方便提示文件类型,但编译器并不按照它作为绝对标准,编译器是务实的,只要源代码内容是C语言即可。其它编程语言也有类似的规则。

主流编程语言扩展名

  • 机器语言
    • .bin/.hex
  • 汇编语言
    • .asm .s
    • .S 经过预编译的汇编语⾔源代码
  • C语言
    • .c
  • C/ObjC/C++头文件
    • .h
    • .hpp .hxx一般是C++头文件
  • C++源代码
    • .cpp .cc .cxx .C .c++
  • 已经预处理过的C源代码⽂件
    • .i ==> C源代码
    • .ii ==> C++源代码
  • Objective-C/Objective-C++源代码⽂件
    • .m .mm
  • C#源代码
    • .cs
  • Java源代码
  • Python源代码
    • .py
  • PHP源代码
    • .php
  • Perl源代码
    • .pl
  • JavaScript
    • .js
  • TypeScript
    • .ts
  • Ruby
    • .rb
  • Go语言
    • .go
  • Rust
    • .rs
  • Swift语言
  • Kotlin
    • .kt
  • Lua语言
    • .lua
  • Fortran
    • .f ==> Fortran 77源代码
    • .for
    • .f90 ==> Fortran 90源代码
    • .f95 ==> Fortran 95源代码
    • .f03 ==> Fortran 2003源代码
    • .f05 ==> Fortran 2005源代码
    • .f08 .f2008 ==> Fortran 2008源代码
    • .f20 ==> Fortran 2020源代码
  • Pascal
    • .pas

默认扩展名可以改吗?

一般而言,编译器没那么死板,有的编译器允许指定选项把特定文件扩展当做特定类型源代码,当然也有通吃的。

  • C#允许任意扩展名
    csc xxx.zzz
  • GCC/G++可以用-x指定文件源代码类型

Java为什么不能用全数字的文件名?

有时,我们想用一个简单的文件名以方便做测试,比如1.c或者1.swift等等。但到Java语言就发现不奏效了。Java语言要求文件名(不包括扩展名)和类名保持一致,数字虽然可以当文件名,但不能当类名(标识符的限制)。

  • 除了Java,基本没有哪个主流编程语言有此限制,除掉没有类支持的C,ObjC/C++/C#都没有规定一定文件名和类名的一致性。


若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。


http://www.ppmy.cn/ops/156142.html

相关文章

java-重载与重写

介绍 在 Java 中,重载(Overloading) 和 重写(Overriding) 是两个重要的概念,它们都与方法有关,但它们的应用场景和行为完全不同。 通过理解重载和重写的区别,可以更好地设计类的继承…

Drools规则引擎初体验

前言 假设有这样一个场景,订单管理系统需要根据用户的消费情况,来为每个用户发放不同程度的优惠券,这个发放规则复杂且多变,我们该怎么办?在代码中写死显然是不可取的,规则一变就要修改代码,频…

Vue 图片引用方式详解:静态资源与动态路径访问

目录 前言1. 引用 public/ 目录2. assets/ 目录3. 远程服务器4. Vue Router 动态访问5. 总结6. 扩展(图片不显示) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Vue 开发中&#x…

后端【代码审查】C语言。

在后端开发中,你是如何进行代码审查的? 在后端开发中,进行代码审查是一项非常重要的质量保证活动。它不仅有助于发现潜在的问题和错误,还能促进团队成员之间的知识共享和技术水平提升。以下是我在进行代码审查时遵循的一些步骤和最…

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)

文章目录 前言一、Ajax技术(从服务端获取数据,发送各种请求)0 接口文档管理:使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例(几年前的早期用法) 二、 Axios技术(对原…

Matplotlib 高级图表绘制与交互式可视化(mpld3)

我们先重新回忆一下它的主要作用: 一、Matplotlib 简介 Matplotlib 是 Python 中一个非常强大的可视化库,广泛用于数据可视化、科学计算和工程领域。它提供了丰富的绘图功能,可以生成各种静态、动态和交互式的图表。以下是 Matplotlib 的主要功能及其详细讲解。 二、基本…

(十一)机器人系统的仿真——建造机器人模型

前言 对于ROS新手而言,可能会有疑问:学习机器人操作系统,实体机器人是必须的吗?答案是否定的,机器人一般价格不菲,为了降低机器人学习、调试成本,在ROS中提供了系统的机器人仿真实现,通过仿真&…

Leetcode::922. 按奇偶排序数组 II

给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。 对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。 你可以返回 任何满足上述条件的…