clang:C++ 编程入门

devtools/2024/11/9 14:52:12/

简单来说,Clang是一个编译器,目前用来编译C、C++、Objective-C语言

where clang
D:\Swift\Toolchains\5.10.0+Asserts\usr\bin\clang.exe

clang -v
clang version 16.0.0
Target: x86_64-unknown-windows-msvc
Thread model: posix

计算 斐波那契数列(Fibonacci sequence),

mkdir testc ; cd testc ; 编写  fib.cpp  如下

// Fibonacci Series using Space Optimized Method
//#include <bits/stdc++.h>
#include <iostream>
#include <stdlib.h>
using namespace std;int fib(int n)
{int a = 0, b = 1, c, i;if (n == 0)return a;for (i = 2; i <= n; i++) {c = a + b;a = b;b = c;}return b;
}// Fibonacci 
int main(int argc,char *argv[])
{if (argc > 1){int n = atoi(argv[1]);if (n >0) cout << fib(n) << std::endl;} else {cout << " usage: fib.exe n ";}return 0;
}

编译  clang fib.cpp -o fib.exe

运行 fib.exe 80

-285007387   这个结果溢出了

计算 斐波那契数列(Fibonacci sequence),不受长整型位数限制。

从 https://github.com/rgroshanrg/bigint 下载 bigint-main.zip 解压到当前目录

copy D:\Swift\testc\bigint-main\Big Integer Library in Single file\bigint.h to D:\Swift\testc\

编写  fibonacci.cpp  如下

// Fibonacci Series using Space Optimized Method
//#include <bits/stdc++.h>
#include <iostream>
#include <stdlib.h>
#include "bigint.h"
using namespace std;bigint fib(int n)
{bigint a(0), b(1), c(0);int i;if (n == 0)return a;for (i = 2; i <= n; i++) {c = a + b;a = b;b = c;}return b;
}// Fibonacci Series test
int main(int argc,char *argv[])
{if (argc > 1){int n = atoi(argv[1]);if (n >0) cout << fib(n) << std::endl;} else {cout << " usage: fibonacci.exe n ";}return 0;
}

编译 clang fibonacci.cpp -o fibonacci.exe

运行 fibonacci.exe 1024
4506699633677819813104383235728886049367860596218604830803023149600030645708721396248792609141030396244873266580345011219530209367425581019871067646094200262285202346655868899711089246778413354004103631553925405243


where g++
D:\Strawberry\c\bin\g++.exe
编译  g++ fib.cpp -o fib.exe

也是可以的。

参阅:BigInt (BIG INTEGERS) in C++ with Example - GeeksforGeeks


http://www.ppmy.cn/devtools/4288.html

相关文章

开源模型应用落地-LangChain高阶-QWen1.5-外部实时数据

一、前言 通过langchain框架调用本地模型,使得用户可以直接提出问题或发送指令,而无需担心具体的步骤或流程。langchain会自动将任务分解为多个子任务,并将它们传递给适合的语言模型进行处理。 本篇将通过LangChain调用外部心知天气API,并将结果返回给QWen1.5模型进行加工处…

TDengine taosAdapter启用HTTPS

HTTPS &#xff08;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#xff0c;HTTPS 的安全基础是 SSL&#xff0c;因此加…

Servlet-Filter实现反爬虫

以前用DotNetCore实现过反爬虫功能。在tomcat里面可以利用Servlet的Filter类实现请求的控制来达到反爬虫功能&#xff0c;进而增强JRT的web安全。 实现黑名单过滤器&#xff0c;对在黑名单列表的IP的所有请求都跳转到警告页面&#xff0c;业务各种请求自行定义加入黑名单 /* …

QA测试开发工程师面试题满分问答15: 讲一讲InnoDB和MyISAM

InnoDB和MyISAM是MySQL中两种常见的存储引擎&#xff0c;它们在数据存储和处理方面有着显著的区别。让我们逐一来看一下它们的区别、原理以及适用场景。 区别&#xff1a; 事务支持&#xff1a;InnoDB是一个支持事务的存储引擎&#xff0c;而MyISAM不支持事务。事务是一种用于维…

C++实战——日期类的实现

日期类的实现 前言一、日期类概念实现运用场景 二、日期类的具体实现代码构造函数拷贝构造函数获取日期&#xff08;内联函数&#xff09;赋值加等减等加减小于小于等于大于大于等于相等不相等前置后置前置- -后置- -关于类里重载的比较运算符为什么要加外部const示例 Date.hDa…

Rust常用特型之TryFrom和TryInto特型

在Rust标准库中&#xff0c;存在很多常用的工具类特型&#xff0c;它们能帮助我们写出更具有Rust风格的代码。 我们前面学习了了From和Into特型&#xff0c;今天我们来学们一下两个相似的特型TryFrom和TryInto。看名字就知道他们是试图转换的意思&#xff0c;那为什么有试图转换…

浏览器——Microsoft Edge

Microsoft Edge 浏览器具有诸多功能特点和使用技巧 核心知识点和实用心得摘要&#xff1a; 性能优化&#xff1a; 睡眠标签&#xff1a;Edge 浏览器引入了睡眠标签功能&#xff0c;旨在降低内存占用和CPU使用率。当标签页长时间未活动时&#xff0c;系统会自动将其置于睡眠状态…

18. TypeScript的配置 tsconfig.json

1.为什么需要tsconfig.json tsconfig.json文件是TypeScript项目的重要组成部分&#xff0c;它定义了项目的根文件和编译器选项。通过这个文件&#xff0c;我们可以控制TypeScript编译器的行为&#xff0c;以满足我们的需求。 2. tsconfig.json文件的基本结构 tsconfig.json是…