[时间同步] vscode chatGPT提供的程序打包封装成api解决方案怎么样

news2024/11/29 10:36:16

背景

在完成gnss时间同步程序大部分需求串口配置、串口数据中找出推荐定位信息RMC解析UTC时间以及UTC时间更新系统时间等功能后,有个需求比较特别,需要客户来操作。当车辆在地库场景待时间过久后重新回到地面,一直在自走的系统时间与又定位好的UTC时间可能相差大。这时候需不需要更新呢?我也不清楚,但提供了两个方式给客户选择。
方式1:强制同步
方式2:非强制同步
选择非强制同步,如果误差过大,系统时间不会更新为UTC时间,但由于这个设计,系统时间就可能一直不能同步UTC时间,这时候,就要提供一个接口,告诉使用客户当前的系统时间与UTC误差,以及是否要强制更新。
现在要把上述接口需求做成api方式,当然我也不会。想到最近火爆而又迅速降温的chatGPT,看看它是不是一个合格的人工智能了,不是我不知道,我在考验chatGPT.(doge),如果可行,以后程序框图是不是chatGPT老兄帮忙作图呀,嘿嘿。废话不多说开干。

VScode插件下的chatGPT

VScode插件里面有琳琅满目的chatGPT工具,我所使用的是CHAT-GPT中文版,这个用多了还要收费,吐血。作为一个chatGPT新玩家,它不用注册,有一定的免费字数,而且不常用 确实还可以的。
在这里插入图片描述
做完我的提问,chatGPT马上就出了答案,表现不错。
刚想问一下句如何使用这些动/静态库,结果就要收费了,吐血,贫穷的我肯定不会认这个账,自己想办法。
修改一下.c .h

hello.c

#include "hello.h"
void hello_world() {
    printf("Hello, world!\n");
}

hello.h

#include <stdio.h>
void hello_world();

再来一个调用的main.c

#include "hello.h"
int main(){
    hello_world();
    return 0;
}
  1. 再用gcc生成动态库libhello.so
gcc --shared -o libhello.so hello.c
  1. 再将mian.c连接动态库libhello.so
gcc mian.c -L. -lhello -o main
  1. 再将动态库libhello.so文件放在/lib或者/usr/lib下,那么默认就能找到。如果放在其他目录下,需要编辑/etc/ld.so.conf文件,加入库文件所在目录的路径,然后ldconfig下。该命令会重建/etc/ld.so.cache文件即可。
sudo cp -r libhello.sp /usr/lib
ldconfig
  1. 再检查一下动态链接库连接
ldd mian
hz@titan:~/c_program/vscode/encapsulation_api$ ldd main 
        linux-vdso.so.1 (0x00007ffea87ab000)
        libhello.so => /lib/libhello.so (0x00007f3bc611e000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3bc5f2c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3bc614d000)

  1. 执行测试一下
hz@titan:~/c_program/vscode/encapsulation_api$ ls
hello.o  libhello.a  libhello.so  main  mian.c
hz@titan:~/c_program/vscode/encapsulation_api$ ./main 
Hello, world!

bigoo,可行。哎,靠ai不如靠自己。

参考连接

使用动态库参考链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/572464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Three.js--》探索Three.js:学习和就业的完整指南

目录 three.js的学习建议 WebGL前端工程师工作待遇相关问题 本篇文章主要给大家介绍一下如何学习Web3D可视化&#xff0c;具体说就是怎么学习WebGL、Three.js、3D建模等。 three.js的学习建议 在过去互联网是人联网的时代&#xff0c;开发人和人之间的联系的Web应用&#x…

MoveIt2中使用trac_ik

文章目录 1.下载trac_ik的源码2.安装 NLopt library3.编译源码4.使用 在ros1moveit1中&#xff0c;使用trac_ik是很简单的一件事情&#xff1a;【TRAC-IK Kinematics Solver】 但是在Ros2中&#xff0c;无论MoveIt2也好&#xff0c;还是trac_ik也好&#xff0c;都没有提供标准的…

如何编写快速高效的SQL查询(三)——高性能索引策略与样例

是时候开始讨论使用索引了&#xff01;正确地创建和使用索引是实现高性能查询的基础&#xff0c;现在我们一起来看看如何真正地发挥这些索引的优势。 高效地选择和使用索引有很多种方式&#xff0c;其中有些是针对特殊案例的优化方法&#xff0c;有些则是针对特定行为的优化。…

Redis7实战加面试题-高阶篇(Redis线程与IO多路复用,BigKey,缓存双写)

Redis线程 面试题&#xff1a;Redis为什么选择单线程? 这种问法其实并不严谨&#xff0c;为啥这么说呢?Redis的版本很多3.x、4.x、6.x&#xff0c;版本不同架构也是不同的&#xff0c;不限定版本问是否单线程也不太严谨。 1 版本3.x &#xff0c;最早版本&#xff0c;也就是…

高压放大器在3D打印中的应用

随着3D打印技术的快速发展&#xff0c;高压放大器在3D打印中的应用越来越受到人们的关注。高压放大器在3D打印中扮演着非常重要的角色&#xff0c;可以提高3D打印的效率和精度&#xff0c;从而实现更高的打印质量。本文将详细介绍高压放大器在3D打印中的应用及其原理。 高压放…

SAP 从入门到放弃系列之安全库存

概念 安全库存的主要目的是以一定数量的库存或时间的作为缓冲区间&#xff0c;以应对供需之间波动的影响。SAP ERP 系统提供两种类型的安全库存&#xff1a;静态安全库存和动态安全库存&#xff08;即安全天数供应&#xff09;。 静态安全库…

《程序员面试金典(第6版)》面试题 02.08. 环路检测(哈希法,双指针,检测链表是否有环)

题目描述 给定一个链表&#xff0c;如果它是有环链表&#xff0c;实现一个算法返回环路的开头节点。若环不存在&#xff0c;请返回 null。 题目传送门&#xff1a;面试题 02.08. 环路检测 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链…

操作系统第一章练习题

目录 问答题 选择题 填空题 判断题 问答题 1、设计现代OS的主要目标是什么&#xff1f; 答&#xff1a;设计现代OS的主要目标是&#xff1a;方便性、有效性、可扩充性、开放性 2、OS的作用可表现在哪几个方面&#xff1f; 答&#xff1a;&#xff08;1&#xff09;从一…

每个软件测试人员必须具备的12大技能

作者 | Kiran Beladiya 赛希翻译组 译 作为一名软件测试员&#xff0c;掌握一些技术技能是非常必要的&#xff0c;这可以使应用程序变得更好。让我们来看看对任何软件测试员来说必不可少的技能。 没有人能成为这样的软件测试员。要获得这个职业&#xff0c;每个测试人员都必…

公文写作技巧:作风建设类排比句40例

1.面对突发任务时&#xff0c;是主动请缨还是被动服从&#xff1b;遇到棘手问题时&#xff0c;是迎难而上还是推诿回避&#xff1b;在荣誉面前&#xff0c;是正确对待还是邀功请赏&#xff1b;汇报工作时&#xff0c;是真实客观还是弄虚作假。 2.不是敷衍了事图轻松&#xff0…

Spring、SpringMVC

文章目录 Spring一、Spring概述二、Spring快速入门1. Spring开发步骤2. Spring配置文件2.1 Bean标签基本2.2 Bean标签范围2.3 Bean生命周期2.4 Bean实例化三种方式 3. Bean的依赖注入3.1 Bean依赖注入概念3.2 Bean依赖注入方式3.3 Bean的依赖注入的数据类型3.4 引入其他配置文件…

Visual Studio 2022使用CMake+MinGW+Clang+LLDB作为开发环境

笔者前面写了两篇关于Visual Studio 2022使用MinGW的博文&#xff1a;《Visual Studio 2022使用MinGW来编译调试C/C程序》、《Visual Studio 2022 CMakeMinGWGDB 调试目标程序》&#xff0c;这两篇博文都是介绍的是GCCGDB的编译与调试&#xff0c;本文笔者介绍的则是ClangLLDB的…

微服务框架 01SOA和传统服务与微服务的差别

SOA思想 1.SOA思想介绍 面向服务的架构&#xff08;SOA&#xff09;是一个组件模型&#xff0c;它将应用程序的不同功能单元&#xff08;称为服务&#xff09;进行拆分&#xff0c;并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的&#xff0c…

20行代码来爬取某某云的榜单音乐

今天来爬爬音乐&#xff0c;一丝丝的无聊 前期准备 软件环境 Python3.8pycharm 模块 requests、re、os 三个 其中requests是第三方模块需要手动安装一下 re、os都是内置模块&#xff0c;不需要安装 浏览器开发者工具 咱们需要学会如何使用开发者工具。 对此很多小伙伴都…

基于Spring Boot的仿豆瓣平台

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 后端为了提高性能和用户体验&#xff0c;该系统平台使用Spring Boot集合Spring&#xff0c;Spring MVC和MyBatis框架做基础&#xff0c;并且集成Spring Data框架&#xff0c;MySQL做数据持久化&#xff0c;Redis缓存提高速度&…

专业解读财务共享实现财务数智化转型的有效路径

近年来&#xff0c;随着数字经济的飞速发展&#xff0c;各大企业全面开启数智化转型之路&#xff0c;作为企业数智化转型的重要内容&#xff0c;财务数智化转型始于财务共享服务。然而&#xff0c;财务共享建设并不是一蹴而就的&#xff0c;如何通过财务共享实现财务数智化转型…

Linux安装与配置ansible

文章目录 Linux安装Ansible一、安装ansible二、配置管理节点和远程主机的连接使用ssh-keygen生成密钥复制SSH密钥到远程主机验证SSH配置 三、主机清单配置文件四、Ansible的配置文件 Linux安装Ansible 在Linux上安装Ansible可以通过以下步骤完成&#xff1a; 一、安装ansible…

npm更换成淘宝镜像源及cnpm使用

1.需求由来 由于node安装插件是从国外服务器下载&#xff0c;受网络影响大&#xff0c;速度慢且可能出现异常。所以如果npm的服务器在中国就好了&#xff0c;所以我们乐于分享的淘宝团队&#xff08;阿里巴巴旗下业务阿里云&#xff09;干了这事。来自官网&#xff1a;“这是一…

Python常见错误(Error)一览大全——初学者必看

路漫漫其修远兮&#xff0c;学习python任重而道远&#xff0c;对于初学者来说&#xff0c;最难受的就是报错&#xff0c;其次是错误翻译好了&#xff0c;可是又不会改了&#xff0c;那么今天&#xff0c;我已IKUN老师的身份&#xff0c;结合我们常见的错误&#xff0c;做一个常…

堆排序之——TopK问题

思维导图&#xff1a; 一&#xff0c;TopK算法的运用 TopK的算法在我们的日常生活中可谓是大有用处&#xff0c;比如你在点外卖时外卖榜单上的销量前几名的筛选&#xff0c;富豪排行榜的榜单人物的筛选&#xff0c;游戏排位……等等领域都会有TopK算法的涉及。TopK问题的用处可…