MS Visual Studio使用ACLLib库

目录

前言

[二、MS Visual Studio使用ACLLib库](#二、MS Visual Studio使用ACLLib库)

1.拿到库文件

2.新建VS项目

[1)打开VS Studio](#1)打开VS Studio)

[2)新建Windos 桌面向导文件](#2)新建Windos 桌面向导文件)

3)创建

4)选择空项目

[5) 新建main.c文件](#5) 新建main.c文件)

[3.将得到的acllib.c 与 acllib.h文件复制到项目文件夹内](#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文件:

cpp 复制代码
#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库,如果使用过程有不懂的可以在评论区提出哟!

相关推荐
wuminyu3 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
Blockbuater_drug4 小时前
FreeSASA: 开源 SASA 计算库,pip 一条命令替代 NACCESS
c语言·开源·sasa·freesasa·溶剂可及表面积·naccess·python api
Logic1015 小时前
C语言/数据结构位运算题解:异或XOR找出蛋糕订单中的“VIP独特口味“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1016 小时前
C语言/数据结构位运算题解:异或XOR找出飞行棋中的“独特颜色棋子“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1018 小时前
C语言/数据动态规划题解:翻转一次子数组后的最大子数组和——四状态DP(O(n)时间O(1)空间)
c语言·数据结构·动态规划·时间复杂度·算法题·状态机dp·最大子数组和
Logic1019 小时前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
Navigator_Z10 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
是隼人10 小时前
buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
潜创微科技10 小时前
IT6520:USB-C 转 MIPI 高集成控制器,DP 1.4a 转 MIPI 单芯片搞定 4K120 显示
c语言·开发语言·低延迟·掌机·联阳
白色的北极熊12 小时前
字符转 ASCII 码
c语言