MS Visual Studio使用ACLLib库

news2024/11/23 9:12:12

目录

前言

二、MS Visual Studio使用ACLLib库

1.拿到库文件

2.新建VS项目

1)打开VS Studio

2)新建Windos 桌面向导文件

 3)创建

 4)选择空项目

5) 新建main.c文件

3.将得到的acllib.c 与 acllib.h文件复制到项目文件夹内

4.将库文件加入项目

5.改变链接形式

三、测试使用

总结


前言

        ACLLib库是一个纯教学用途的纯C语言图形库,它并非任何产业界在使用的图形库,也不会有机会发展成为流行的图形库。

一、ACLLib库介绍

ACLLib库只是我们为了C语言学习的目的自己开发的非常简单的图形库,它基于MS Windows的Win32API,所以在所有的Windows版本上都能使用。但是也因此它无法做成跨平台的库在其他操作系统上使用。

使用Windows下的多种IDE都可以使用ACLLib,包括但不限于DevC++、MS Visual Studio、codeBlocks等,也可以直接由MinGW编译器以Makefile方式编译。

下面将介绍如何使用 MS Visual Studio 去使用该库。

二、MS Visual Studio使用ACLLib库

1.拿到库文件

ACLLib文件:https://github.com/wengkai/ACLLib

 可以直接克隆到本地:

git clone https://github.com/wengkai/ACLLib

或者也可以进入网址,然后在本地新建一个.c .h文件,将acllib.c acllib.h 分别粘贴到两个文件中并保存,后面回用到。

2.新建VS项目

1)打开VS Studio

2)新建Windos 桌面向导文件

 3)创建

输入项目名,点击创建

 4)选择空项目

5) 新建main.c文件

 

3.将得到的acllib.c 与 acllib.h文件复制到项目文件夹内

4.将库文件加入项目

        回到VS

 

 源文件中加入acllib.c, 头文件中加入acllib.h

 到这里就引入库文件完成,但是还需要改变一下链接形式,否则会报错。

5.改变链接形式

 

 

三、测试使用

输入一段简单的代码,试试有没有成功

在acllib程序中使用的是Setup,而不是main函数。

main.c文件:

#define _CRT_SECURE_NO_WARNINGS 1

#include "acllib.h"
#include <stdio.h>

void mouseListener(int x, int y, int button, int event)
{
	static int ox = 0;
	static int oy = 0;
	printf("x=%d, y=%d, button=%d, event=%d\n", x, y, button, event);

	beginPaint();
	line(x, y, ox, oy);
	endPaint(x, y);
	ox = x;
	oy = y;
}

void keyListener(int key, int event)
{
	printf("key=%d, event=%d\n", key, event);
}

void timerListener(int id)
{
	static int count = 0;
	printf("id=%d\n", id);
	
	if (id == 0)
	{
		count++;
		if (count == 5)
		{
			cancelTimer(0);
		}
	}
}

int Setup()
{
	initConsole();
	printf("Hello\n");
	initWindow("test", 100, 100, 200, 200);

	registerMouseEvent(mouseListener);
	registerKeyboardEvent(keyListener);
	registerTimerEvent(timerListener);
	startTimer(0, 500);
	startTimer(1, 1000);


	beginPaint();

	//line(20, 20, 100, 100);

	endPaint();
	return 0;
}

 运行后没有报错就表示已经使用成功了。

总结

初学C语言时可以使用ACLLib库去实现一些图形化的小项目,此文章是基于翁恺老师的MOOC课程而介绍的如何使用ACLLib库,如果使用过程有不懂的可以在评论区提出哟!

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

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

相关文章

HNU-2024计算机系统-小班讨论6

写在前面&#xff1a; 本次讨论课的选题主要围绕着程序性能优化章节中的分支预测部分&#xff0c;我个人感觉这板块是CSAPP教材中最不好理解的部分&#xff0c;需要大家多看教材&#xff0c;多讨论分析。 本文所有题目由全组同学共同完成&#xff0c;感谢每一位同学的支持与付…

【C++】序列与关联容器(二)序列容器

【C】序列与关联容器&#xff08;二&#xff09;序列容器 一、C 标准库中的序列容器模板二、array 容器模板三、vector元素模板 一、C 标准库中的序列容器模板 每种容器的实现方法的难易不同&#xff0c;特性不同&#xff0c;适用的应用场景不同 array &#xff1a;元素个数固…

11.4.软件系统分析与设计-算法的分析与设计

算法的分析与设计 涉及到的考点&#xff1a; C语言数据结构(树、链表)–考的不多时间复杂度和空间复杂度的计算排序算法四大经典算法 程序设计语言的基本成分 数据成分&#xff1a;指一种程序设计语言的数据和数据类型。数据分为常量&#xff08;程序运行时不可改变&#x…

让IP实现https访问的方法

IP SSL证书是主要保护公网ip地址的一种专属信任SSL证书&#xff0c;相比而言IP SSL证书体现的定位很明确。 IP SSL证书是一种数字证书&#xff0c;用于保护网络服务器和网络浏览器之间的通信。它是由受信任的证书颁发机构(CA)颁发的安全套接字层(SSL)证书。证书用于验证服务器…

day 26网络编程—协议

1、协议&#xff1a;通信双方约定的一套标准 2、国际网络通信协议标准&#xff1a; 1.OSI协议&#xff1a; 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 数据传输的…

丑数的计算

丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n &#xff0c;请你判断 n 是否为 丑数 。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;n 6 输出&#xff1a;true 解释&#xff1a;6 2 3 示…

Linux---DHCP和FTP(原理+实操)

文章目录 DHCP和FTP&#xff08;原理实操&#xff09;DHCP使用DHCP&#xff08;自动分配IP&#xff09;的好处分配方式租约过程第一次重新登录更新租约DHCP服务可分配的地址信息主要包括 DHCP安装和配置实验目的实验环境:网络环境:系统环境:具体操作实操注意一、将三台虚拟机网…

数据结构——排序(4):归并排序+计数排序

目录 一、归并排序 &#xff08;1&#xff09;思想 &#xff08;2&#xff09;过程图示 &#xff08;3&#xff09;代码实现 (4) 代码解释 &#xff08;5&#xff09;复杂度 二、非比较排序&#xff08;计数排序&#xff09; &#xff08;1&#xff09;操作步骤 &#x…

《新一代数据可视化分析工具应用指南》正式开放下载

2024年8月12日&#xff0c;由DataEase开源项目组编写的《新一代数据可视化分析工具应用指南》白皮书正式面向广大用户开放下载。 《新一代数据可视化分析工具应用指南》是DataEase开源项目组为了支持企业落地并推广BI工具、推进企业数据可视化建设而编著的指导手册。通过本白皮…

【生成式人工智能-十二-影像生成原理】

文字生成影像的原理 影像生成的应用影像 是怎么生成的图片生成图片&#xff1a;影像生成影像文字生成图片按照文字AT的方式生成NAT 文字生成视频 怎么评价影像生成的好坏引入CLIP模型文字生成图片的难点文字生成视频的难点解决办法减少attention数目分迭代生成 前段时间sora生成…

前端字体没有授权,字体版权检测(是否为方正字体)

1.截图系统中的首页和登录页面&#xff0c;主要是有字体的地方 2.在线字体版权检测地址&#xff1a;字体版权自动检测-求字体网 3.上传照片&#xff0c;开始对图片进行检测&#xff0c;每个账号有三次免费次数 4.检测完&#xff0c;直接查看检测报告即可&#xff0c; 报告中…

[Spring] Spring事务与事务的传播

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

借助 Aspose.Words,在 Word 文档中创建表格

Word 文档中的表格是一种强大的工具&#xff0c;可用于以清晰、结构化的格式组织和呈现数据。表格由行和列组成&#xff0c;行和列相交形成可包含文本、数字、图像或其他元素的单元格。在本文中&#xff0c;我们将学习如何使用 C# 以编程方式在 Word 文档中创建表格。本文通过代…

虚幻5|高级运动实现基础的翻滚Roll 基础篇

一&#xff0c;调整项目设置——输入 1.我设置了翻滚是同时按W&#xff0b;Shift按键&#xff0c;如果你有更好的按键安排&#xff0c;评论区留言 二&#xff0c;打开角色蓝图&#xff0c;打开图表—基础移动&#xff08;你的放图表就行了&#xff0c;我这里是安排了很多排版的…

LDRA Testbed(TBrun)软件单元测试_实例讲解(局部静态变量)

系列文章目录 LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成&#xff08;自动静态分析并用邮件自动发送分析结果&#xff09; LDRA Testbed软件静态分析_软件质量度量 LDRA Testbed软件…

使用Hugging Face构建大型语言模型应用

在本文中&#xff0c;我们将介绍如何使用Hugging Face的大型语言模型&#xff08;LLM&#xff09;构建一些常见的应用&#xff0c;包括摘要&#xff08;Summarization&#xff09;、情感分析&#xff08;Sentiment analysis&#xff09;、翻译&#xff08;Translation&#xff…

初步融合snowboy+pyttsx3+espeak+sherpa-ncnn的python代码

在前文《将Snowboy语音唤醒的“叮”一声改成自定义语言》中&#xff0c;我已经实现唤醒snowboy后&#xff0c;树莓派会说一句自定义文本。今天&#xff0c;会在此基础上增加ASR的应用&#xff08;基于sherpa-ncnn&#xff09;。 首先&#xff0c;编写一个asr.py的程序&#xf…

手撕快排——三种实现方法(附动图及源码)

&#x1f916;&#x1f4bb;&#x1f468;‍&#x1f4bb;&#x1f469;‍&#x1f4bb;&#x1f31f;&#x1f680; &#x1f916;&#x1f31f; 欢迎降临张有志的未来科技实验室&#x1f916;&#x1f31f; 专栏&#xff1a;数据结构 &#x1f468;‍&#x1f4bb;&…

【C++】STL——list

前言 本篇博客我们接着来理解一个STL库里的list链表的结构&#xff0c;根据前面数据结构的铺垫&#xff0c;理解这个结构相对比较容易。我们来一起看看吧 &#x1f493; 个人主页&#xff1a;小张同学zkf ⏩ 文章专栏&#xff1a;C 若有问题 评论区见&#x1f4dd; &#x1f38…

中国与中南半岛国家多国语言系统开发i18n配置老挝、柬埔寨语言配置

前言 当下中国与中南半岛国家经济合作密切&#xff0c;同时也需要软件系统&#xff0c;多国使用系统需要实现多语言&#xff0c;我们团队最近也接到一个中、老、柬三国的业务软件&#xff0c;需要将软件做成三个国家语言。然后我们网上收i18n的老、柬的语言包命名&#xff0c;…