自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (11)
  • 论坛 (2)
  • 问答 (16)
  • 收藏
  • 关注

原创 曾经写过的代码:(1)C语言大作业之词频统计程序

用C语言编写一个简单的词频统计程序,要求如下:1、从文件中读取一段英文短落,原样输出在控制台中;2、统计英文短落中各类单词的数目,并输出到控制台中;3、输出数量最多的前十个单词。

2020-01-10 22:48:36 716

原创 批量生成具有多层嵌套结构的文件夹

我有一个表格,表格里是一批文件夹的名称,我要快速、准确、批量地生成一批文件夹。如果自己有耐心的的话,当然可以一个个地建立。如果文件夹只有一层,不存在嵌套现象,那么就很简单了,网上很容易找到方法。如果文件夹很多,而且存在多级子文件夹嵌套其中,那么就很麻烦了。我也没有找到更好的方法,所以就写了一段程序来解决。1、首先,把表格中的文件名称复制到txt文件中,命名格式如下图所示:2、编写程序。...

2019-12-13 16:13:21 575

原创 C#中使用OpenGL:(九)重写C# OpenGL接口

C# OpenGL系列,前面八篇博客在2018年1月份已经完成,基本上是把C# OpenGL接口所涉及的技术大概讲了一下。当时信誓旦旦说要把博客写好,实际上没有做到,有些东西没有讲明白,有些东西是还是错的。另外,博客的行文也不流畅,读起来怪怪的,啰里啰嗦说了很多,但总感觉说不明白。有读者评论说,文章很生动,那真是过奖了。关于源代码的问题,之前的源码上线是很匆忙的,根本没有进行过充分的测试,里面有很...

2019-07-28 16:55:48 652 1

原创 使用OpenGL在控制台窗口上绘制图形

以前刚学OpenGL的时候,创建的是控制台工程,运行时有两个窗口,一个用来显示图形,另一个则是多余的控制台,看起来很别扭。我当时在想,既然控制台程序已经提供了窗口,为什么还要自己创建一个呢,难道控制台窗口只能显示冰冷的字符吗?后来自己学会搭建OpenGL渲染环境,才知道其中的奥秘。下面通过一段简短的说明和程序代码来说明如何在控制台窗口上绘图。OpenGL渲染环境的搭建,要注意的事项,跟...

2019-05-08 14:40:23 1109 1

原创 使用OpenGL在电脑屏幕上绘图

学过OpenGL的人都知道,要想利用OpenGL函数进行绘图,就要创建一个显示窗口。每次绘图,第一件事恐怕就是创建窗口了。肯定也有人跟我一样想过:能不能不在那个黑乎乎的窗口上绘图,而是直接绘制在电脑屏幕上,就像桌面上那些图标一样。我曾翻遍了所有的OpenGL函数,没有哪个函数支持这种做法。我想大概是不行的吧,就把在屏幕上绘图的想法给搁置了。直到有一天,我学习了GDI,尝试进行截屏,当...

2019-05-08 13:38:33 3430 1

原创 VS写汇编程序002:用汇编语言写函数

       汇编语言在运行效率上有优势,通过精心设计的汇编程序,其执行效率会比C语言高,但是程序难写难调试。使用汇编程序编写大型程序很具有挑战性,不太可能全部使用汇编。为兼顾开发成本和程序执行效率,C语言和汇编混合编程为上好的选择,即在重视性能的模块使用汇编,在其他部分使用C语言。那么能不能用汇编语言编写函数让C语言调用呢?答案是肯定能!      在VS上配置好汇编语言开发环境的基础上,下...

2018-12-25 21:48:53 1875

原创 VS写汇编程序01:VS2015配置汇编语言开发环境

        一般情况下,大都数人都不会想用汇编这种古老的语言,但有时候想操控硬件或者想优化程序,又不得不用到汇编语言。汇编语言的编写,调试是一件非常麻烦的事,要是有一个集成的开发环境,那写汇编就可以说是得心应手。就目前来看,似乎没有哪个好的、免费的汇编IDE可以用,如果有的话,那微软的VS(daoban的也算免费)算是一个吧。下面就讲一讲如何在VS2015中配置汇编语言开发环境(纯汇编语言开发...

2018-10-28 17:55:23 7215 1

原创 C#中使用OpenGL:(八)OpenGL扩展函数

一般而言,扩展函数指的是没有正式发布但已经存在于显卡驱动中的函数,这里指的是已经正式发布的,但版本号高于1.1的OpenGL函数。前面的文章已经探讨过在C#中使用1.1版本的OpenGL函数,也研究过如何在C#中搭建OpenGL渲染环境。如果对性能没什么要求,也不打算做太复杂的东西,那么前面所做的工作已经够用了。如果想做更酷的东西,那么使用高版本的扩展函数是必不可少的。下面将粗略地说明如何在C#程

2018-01-12 21:21:37 2085 4

原创 C#学习笔记:在控件上绘制文字

对于像Label、Button、TextBox等控件,它们本身就具有文本显示功能,显示文字自然不是问题。但是对于PictureBox、Panel等控件,它们不具备文本显示的功能,而我又想让他们显示文字,这就需要多动一些脑筋了。有人会说,如果要在PictureBox上显示文字,直接在PictureBox上放一个Label不就得了吗?当然,这是可以的,而且还挺方便的。但是如果要做一些看起来更酷的文字的话

2017-12-22 14:23:10 5179

原创 C#中使用OpenGL:(七)创建OpenGL渲染环境

之前的文章介绍了如何在C#中调用1.1版本的OpenGL函数,但是光有OpenGL函数还不能绘制图形,就像一个画家,他即使拥有绘画的技巧,还有画笔和颜料,如果没有画布,他也没有地方画画。有了画布,画家还需要画板把画布支起来才能画。OpenGL渲染环境就类似于画布和画板,只有创建了渲染环境,使用OpenGL函数才会起作用。它不是OpenGL的一部分,而是隶属于操作系统,所以不同的操作系统,创建Ope

2017-12-19 15:18:57 10361 8

原创 C#学习笔记:栈溢出异常(StackOverflowException)

最近写了一个C#程序,也就是循环从文件里读取3000多个浮点数到数组中,结果运行程序就报告栈溢出异常(StackOverflowException)。我以为是自己定义了一个很大的局部变量把栈给占满了,检查发现只有几个很小的局部变量,而占用内存大的数组都是用new来分配空间的,按理说空间应该分配在堆区,不应该出现栈溢出。我以为是数据量太大了把堆也给填满了,于是写了一个测试程序,循环读取100000个浮

2017-11-03 14:02:17 26026 4

原创 C#学习笔记:从文件中读取数据

C语言中,可以用fscanf函数从打开的文件中读取一个或多个指定类型的数据。在C#中没有类似于fscanf这种方法,但可以通过一些技巧来达到目的。下面通过例子来说明C#如何实现C语言的fscanf函数的功能。首先,创建一个文本文件。在文件中输入一个整数,一个浮点数,一个字符串。如下图: 接下来要做的是,把文件中的数据分别以整数、浮点数和字符串的形式读进来。如何操作呢?且看下面。//打开文件Fil

2017-11-01 16:44:06 3086 1

原创 C#学习笔记:文件操作

这里说的文件操作指的是文件的读写操作。按照文件贮存的形式,可把文件分为文本文件和二进制文件。在C#中,不同的文件类型有不同的操作方式。下面将研究在C#中如何对文本文件和二进制文件进行操作。文本文件操作文本文件操作主要涉及到几个类,分别是File类、FileStream类、StreamReader/StreamWriter类。要使用这几个类,首先要引用名称空间:Systerm.IO。File类:一个静

2017-11-01 16:05:52 327

原创 C#中使用OpenGL:(六)C#中调用C函数时的参数传递问题

C#中调用C函数,除了需要在C#中声明被调函数之外,还要考虑到参数传递的问题。虽然我在之前两篇文章中已经提到过如在C#中向C函数传递参数,但是在调用OpenGL函数时,仍然遇到不少难题,特别是关于指针方面。我试图在网络上搜索相关的方法,然而让人失望是,很多人的给出的是“为什么一定要在C#中使用指针呢?”之类的答案。额……,不是我偏爱指针,如果不是迫不得已,谁会在C#中使用指针呢! 为了解决C#调用O

2017-09-26 18:50:13 2970 1

原创 C#中使用OpenGL:(五)1.1版本的OpenGL函数

上一篇文章介绍了如何在C#中表示OpenGL常量,这篇文章将介绍如何在C#中调用1.1版本OpenGL函数。关于OpenGL版本的问题OpenGL自从1992年7月份发布1.0版本以来,到2017年9月已经发展到了4.6版本。在OpenGL发展的历程中有两个版本需要特别注意,第一个是1.1版本,第二个是2.1版本。1.1版本的OpenGL是微软Windows系统所支持的最高版本的了,而

2017-09-24 13:16:57 3466

原创 C#中使用OpenGL:(四)C#版的OpenGL常量

在使用OpenGL时,经常会用到一些常量,诸如GL_FALSE、GL_BUFFER_BITS之类的。这些常量,在C/C++中,都是在头文件中用宏来声明,编译器在编译时,会把宏替换成实际的数值。如果在C#中使用OpenGL,那么这些常量该如何表示呢?C#不能像C/C++那样通过使用#define来定义宏,那么在C#中如何封装OpenGL几千个常量呢?方法主要有两种,一是用枚举类型(enum)封装

2017-08-26 15:58:19 5306 2

原创 C#中使用OpenGL:(三)将.lib文件编译为.dll文件

C#不能调用C/C++lib文件的函数,但能调用dll文件的函数。可是现在的情况是,我只有一个lib文件,函数的实现都在里边了。能不能把lib变为dll呢?答案是肯定的。 要把lib编译为dll大概有三种方法吧: 第一种,就是把lib的函数封装一下,然后用编译器编译为dll。具体做法就是,先定义一个函数,然后在函数内部引用lib中的函数,最后将函数输出到dll文件中。 例如:void

2017-08-18 17:31:02 6105

原创 C#中使用OpenGL:(二)C#调用C/C++的dll

在C#中使用OpenGL图形库为业余的图形编程人员提供了很大的便利,可是官方并没有向用户提供C#版本的OpenGL图形接口,在民间有好一些人开发了C#版的OpenGL接口,使之能够在C#中使用。这些第三方的C#版OpenGL应该说用起来还是不错的,如果说有什么缺点的话,那应该是这些OpenGL的版本都不是最新的,一般在4.0以下,而现在OpenGL都4.6版本了。如果要使用最新的OpenGL图形接

2017-08-15 19:59:47 11986 3

原创 C#中使用OpenGL:(一)前面的话

为什么要在C#中使用OpenGL?OpenGL是非常强大的图形接口,硬件加速,跨平台。。。。总之,很多说不完的优点。对于喜欢图形编程的人来说,最直接的优点就是OpenGL可以做很多酷酷的东西。正是因为如此,包括我在内,很多人都喜欢使用OpenGL开发图形类的程序。OpenGL缺点也是很明显的,对于程序员来说,最直观的缺点就是学起来难,用起来繁。难学只是暂时的,繁琐则是始终的。OpenGL据说是

2017-08-12 20:09:35 13938 7

原创 结构体长度问题

为了加快数据存取的速度,编译器默认情况下会对结构体成员和结构体本身(实际上其他数据对象也是如此)存储位置进行处理,使其存放的起始地址是一定字节数的倍数,而不是顺序存放,称为字节对齐。字节对齐的规则为:(1)结构体变量的首地址能够被其最宽基本类型成员的大小所整除;(2)结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节;(3)结构体的总大小为结构体最宽基本类型成员

2017-08-06 20:41:16 1927 5

原创 程序在内存中的布局

程序在运行时,由操作系统将可执行文件载入到计算机的内存中,成为一个进程(process)。程序进程被创建时,系统就会为其分配内存空间。程序在内存中的布局由5个段(segment)组成,如下图所示: 1、代码段代码段(code segment)存放程序执行的机器指令。通常情况下,代码段是可共享的,使其可共享的目的是,对于频繁被执行的程序,只需要在内存中有一份副本即可。代码段是只读的,使其只读的原因是

2017-08-06 14:00:57 1626 5

原创 动态链接库(dll)文件解析

生成动态链接库(dll文件)1、使用VS生成动态链接库的步骤: (1)新建一个win32控制台工程,并在应用程序设置窗口中选择“Dll”选项,附加选项选择“空项目”。如下图:(2)创建完工程之后,添加源文件,在源文件中写上想导出到dll文件的函数。函数声明之前应该加上“_declpec(dllexport)”表示函数输出为动态链接库。除此之外,还要在函数名前面加上调用约定。因为c/c++语言默认的

2017-07-25 21:07:01 14956 3

原创 C#学习笔记:设置label(标签)控件的背景颜色为透明

有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件。那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答案是否定的。看似很简单,其实不然,在实际操作过程中,很让人抓狂,抓狂到让你怀疑人生。关于透明首先要解释一下,什么叫做透明。在C#这里,透明就是指透过控件的背景,可以看到其父控件(容器)表面的颜色。所谓的

2017-07-23 20:30:00 63387 13

原创 BMP文件解析

BMP文件简介BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文

2017-07-23 17:22:08 1477

原创 如何读取STL文件?

STL文件有两种文件格式,分别是二进制的stl和Ascii格式的stl。下面将针对这文件的两个格式,用C语言分别写出一段简单的示例代码。一、读取二进制的STL文件(1)二进制stl文件的结构文件起始的80个字节是文件头,用于存贮文件名; 紧接着用 4 个字节的整数来描述模型的三角面片个数, 后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是: 3个4字节浮

2017-07-19 13:30:20 5718 8

原创 如何将顶点数据保存为STL文件?

stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式。 它的文件格式非常简单, 应用很广泛。STL是最多快速模型系统所应用的标准文件类型。STL是用三角网格来表现3D CAD模型。STL只能用来表示封闭的面或者体,stl文件有两种:一种是ASCII明码格式,另一种是二进制格式。一、STL文件的格式(1)ASCII明码格式ASCII码格式的STL文件逐行给出三角面片

2017-07-18 15:04:37 1995 1

原创 静态连接库(lib)的生成与调用

探索如何使用VS编译器生成静态库(lib),并在其他程序中调用静态库。

2017-07-14 13:42:28 4088 1

原创 lib文件与dll文件的区别与联系

一、Lib文件lib文件是静态链接库文件,其中存放的是函数调用的信息,在windows操作系统中起到链接程序和函数的作用。其意义在于代码重用,程序员将常用的功能写成函数,保存为lib文件,在以后编程要实现这些功能的时候,就不需要在重新编写代码,而是直接调用写好的lib文件,这很大程度上减轻程序员的负担。在代码编译时,根据编译方式的不同,lib的作用也有所不同。1.静态编译  静态编译将

2017-07-13 20:37:16 1094

原创 C#学习笔记:GDI图形高级编程(2)——关于Brush类

本文主要是探讨C#在GDI绘图高级编程中用到的Brush类、SolidBrush类、TextureBrush类、LinearGradientBrush类、PathGradientBrush类、HatchBrush类的用法

2017-07-13 16:06:08 2322

原创 C#学习笔记:GDI图形高级编程(1)——如何将图形画到控件上

之前学习OpenGL是用C语言写的程序,开发个界面,既繁琐又不美观,还一大堆BUG。现在学了C#,可以很轻易地进行界面开发,我就寻思着,怎么样把OpenGL搬到C#中。查了很多资料,得出了这样一个结论:OpenGL官方没有为C#语言提供OpenGL API接口,而视OpenGL为死对头的微软更不可能在自家的语言上为OpenGL提供支持。只有第三方做了一些适合在C#上使用的OpenGL接口,比如Cs

2017-07-12 16:32:40 17520 5

原创 C#学习笔记:CheckedListBox控件的用法

一、常用属性、方法和事件1.常用属性(1)CheckOnClick属性CheckOnClick属性是布尔类型的值,如果为True,那么单击条目就能将条目勾选;如果为false,则要双击条目才能将其勾选。(2)ColumnWidth属性ColumnWitdh属性是整型数据,表示多列条目各列的列宽。该属性只有在MultiColumn属性(允许多列显示)设置为true时才有意义。

2017-07-09 20:43:57 40000 1

原创 C#学习笔记:RadioButton控件与CheckBox控件的用法

一、用途1.RadioButton控件单选按钮,当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项。也就是说,当同一个容器中(Form、Panel、GroupBox、PictureBox等)存在两个以上的单选按钮时,只能有一个被选中。但不在同一个容器中的几组单选按钮彼此不关联,是可以有多个被选中的。2.CheckBox控件复选框,允许用户选择和清除关联选项。与单选按钮不同

2017-07-09 15:41:58 34270

原创 C#学习笔记:控件的字体(Font)属性设置

很多控件都有字体(Font)这一项属性,如果在设计器的属性栏中静态设置,自然没问题,可是在代码中,运行时动态设置,就没有那么容易了。考虑到以后会经常用到这一项,研究一下如何设置字体属性还是很有必要的。设置字体主要有两种方法,一种是直接向Font类中传递各种字形字体参数来设置,另一种是运用字体设置对话框(FontDialog)来设置。下面来详细地说说他们的用法。1.方法一,通过Fon

2017-05-29 20:48:35 44468

原创 C#学习笔记:动态设置控件的背景图片

本文主要探讨的是在C#窗体设计过程中,如何设置控件的背景图片,以及图片的布局。谈到的控件属性有BackgroundImage,BackgroundImageLayout和Image。使用到的结构体、类、方法主要有,Image类,ImageLayout枚举类型,Bitmap类。

2017-05-29 14:41:45 12232

原创 C#学习笔记:设置与获取控件的大小

控件的Size属性决定着控件的大小(宽和高),下面将从代码中设置控件的宽和高。假设控件名为control,其宽度为w,高度为h。1.设置控件的大小control.Size=newSize(w,h);//设置控件的宽度为w,高度为h。或者这样:control.Width=w;control.Height=h;2.获取控件的大小    w=control.Width;

2017-05-29 13:35:46 1684 1

原创 C#学习笔记:控件BackColor属性与ForeColor的使用方法

1.解释(1)BackColor属性BackColor属性表示控件的背景颜色,各个颜色颜色分量的取值范围是0-255的整数。(2)ForeColor属性ForeColor属性表示控件的前景色,用于显示文本,也就是说,控件上字体的颜色。对于容器类型的控件,没有直接显示文本的功能,设置前景色可以让其装载的某些控件都获得一个初始的前景色(对于TixtBox控件无效)。例如窗体(F

2017-05-29 12:14:35 30858 1

原创 C#学习笔记:控件的Location属性值的设置与获取

用C#语言设计界面时,常常要设置或者获取控件的位置,这就需要用到Location属性。如果在窗口设计器的属性栏中设置属性值,那么再简单不过了。可是有时候,想要在程序运行时动态设置或获取控件的Location属性值,就要在代码中实现。

2017-05-26 19:33:10 18838

CSharpGL.zip

C#版本的OpenGL API 源码,用C#语言编写的OpenGL函数接口,为想用C#语言开发OpenGL程序的开发者提供方便。本项目包含了C# OpenGL接口源码的工程文件、C# OpenGL的动态链接库文件(OpenGL.dll)、辅助开发的summery文件(OpenGL.xml)、用于示范的demos、OpenGL函数参考手册(chm文件)、最新版OpenGL规范(4.6版本)和着色器语言规范。

2020-03-08

C语言大作业:词频统计程序

一个很常见的C语言大作业:1、从文件中读取一段英文,然后输出到控制台。2、统计英文段落中各单词的数目。3、输出数量最多的10个单词。解压密码是hello

2020-01-07

批量创建文件夹.zip

可以批量生成文件夹的程序和源码(包含了C、C#、和python源码)。不但可以生成单层的文件夹,还可以生成多层嵌套的文件夹。

2019-12-13

CSharpGL.zip

C#版本的OpenGL API 源码,用C#语言编写的OpenGL函数接口,为想用C#语言开发OpenGL程序的开发者提供方便。本项目包含了C# OpenGL接口源码的工程文件、C# OpenGL的动态链接库文件(OpenGL.dll)、辅助开发的summery文件(OpenGL.xml)、用于示范的demos、OpenGL函数参考手册(chm文件)、最新版OpenGL规范(4.6版本)和着色器语言规范。

2019-07-13

depends22_x86.zip

用来查看动态动态链接库(dll文件)中的函数接口名称。利用该软件,可以查出该dll文件到底还依赖这哪些dll,也可查看该dll中的公开的函数接口。

2019-07-03

ensight format.pdf

在做流体仿真、结构仿真的时候经常会遇到ensight格式的文件,有时需要自己写程序去读写这些文件。ensight文件格式说明(EnSight Data Formats)来自源官方的资料。资料很详尽地介绍了ensight文件的组成,数组如何存放,通过这个文档可以很容易解析ensight文件。

2019-05-31

pecoff_v8.pdf

可移植可执行文件和通用对象文件格式规范(Portable Executable and Common Object File Format Specification)。希望了解exe/dll文件的内部组织构造的可以看一下。资源来自于微软的官方文档,说明较为详尽。

2019-05-31

OpenGL说明书

本压缩文件包含了两个英文文档,分别是OpenGL说明书(OpenGL Specification)和着色器语言说明书(Shader Language Specification)。“OpenGL说明书”或“规范”,主要介绍OpenGL图形系统:它是什么,它是如何工作的,以及实现它需要什么。要求读者至少了解了基本的计算机图形学,这意味着熟悉基本的计算机图形学算法、术语,以及现代GPU(图形处理单元)。”着色器语言说明书”主要描述了各种类型的着色器,着色器语言语法、变量、类型等等。这两个文档适用于想深入了解OpenGL以及着色器的人。

2019-04-12

C# OpenGL源码

这是C#版本的OpenGL接口源码,囊括了版本1.1到版本4.6中所有正式发布的OpenGL接口函数,除此之外,还有很多实用的辅助类和方法,当然,还有一些示例用的demos。备注:此版本有些错误,而且设计太合理。最好用新的版本,新的版本采用新的技术,设计相对合理,也修正了旧版本遗留的错误。新版本地址https://download.csdn.net/download/qq_28249373/12234601

2018-01-12

OpenGL参考手册

本参考手册被打包成chm文件,内容囊括了OpenGL1.0-4.5版本的所有正式发布OpenGL函数,另外包含了glu库、glx库和着色器语言(GLSL)的函数参考。制作本手册的全部资源来自于OpenGL官方网站,除排版做了少许改动外,内容未做任何删改,理论上不会出现遗漏和错误。

2017-11-21

OpenGL参考手册(英文版)

本参考手册被打包成chm文件,内容囊括了OpenGL1.0-4.5版本的所有正式发布OpenGL函数,另外包含了glu库、glx库和着色器语言(GLSL)的函数参考。制作本手册的全部资源来自于OpenGL官方网站,除排版做了少许改动外,内容未做任何删改,理论上不会出现遗漏和错误。

2017-10-19

VS2019数学函数计算有错误

发表于 2019-12-05 最后回复 2020-01-12

上传资源的下载积分设置

发表于 2019-05-08 最后回复 2019-05-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除