-
C# 磁性窗体 实例源码下载( 可吸附在主窗体上下左右)
C# 磁性窗体 实例源码下载( 可吸附在主窗体上下左右)
- 2013-11-17下载
- 积分:1
-
C# 柱状图、折线图、饼图源码(chart控件的简单示例)
C# 柱状图、折线图、饼图源码(chart控件的简单示例)
- 2015-06-11下载
- 积分:1
-
C语言基础教程.pdf
C 基础教程 - v1.4.1.pdf
- 2021-05-06下载
- 积分:1
-
C++实战源码-控制左右声道(入门级实例546).zip
C++实战源码-控制左右声道(入门级实例546).zip
- 2019-10-01下载
- 积分:1
-
iis6建站工具源码下载
iis6建站工具源码下载
- 2015-05-07下载
- 积分:1
-
收银系统(源码+数据库)
【实例简介】世纪华联超市-收银系统源码
- 2021-10-11 00:31:03下载
- 积分:1
-
GC 垃圾回收算法
=1,2垃圾回收算法: 托管堆:CLR要求的资源从托管堆分配,任何对象只要没有应用程序的根引用它,都会在某个时刻被垃圾回收器回收 基于代的机制,提高回收的性能,在程序的生命期中,新建的对象是新一代,而创建的比较早的对象是老一代,第0代是最近分配的对象,CLR 使用了0,1,2三代进行管理 =3 GC和调试GcAndDebug.cs =4本地资源终结(finalization)是CLR提供的一种机制,允许对象在垃圾回收器回收其内存之前执行一些得体的清理工作,任何包装了本地资源的类型都必须支持终结操作(实现一个命名为Finalize的方法)。GC判断一个对象是垃圾时,会调用对象的Finalize(实现的情况下),C#中使用~ClassName表示FinalizeIn most cases, you do not need to write classes that derive from the CriticalFinalizerObject class. The .NET Framework class library provides two classes, SafeHandle and CriticalHandle, that provide critical finalization functionality for handle resources. Furthermore, the .NET Framework provides a set of prewritten classes derived from the SafeHandle class, and this set is located in the Microsoft.Win32.SafeHandles namespace. These classes are designed to provide common functionality for supporting file and operating system handles. System.Runtime.ConstrainedExecution 下的 CriticalFinalizerObject 抽象对象,CLR特殊对待 System.Runtime.InteropServices下的派生抽象类 SafeHandle CriticalHandle 和SafeHandle只是引用计数的区别Microsoft.Win32.SafeHandles SafeFileHandle,SafeRegistryHandle ,SafeWaitHandle... SafeProcessHandle SafeLibraryHandle SafeLocalMemHandle SafeThreadHandle等MSDN没有编写,但同样是处理这个问题的 类似的实现的不同类代表不同的资源类型,这么多的类似,主要是为了类型安全SafeHandle的作用:1、以前的IntPtr形式不够健壮,如在IntPtr赋值前可能抛出ThreadAbortException异常,这样托管代码将造成本地资源的泄露2、防止利用潜在的安全漏洞,一个线程访问一个本地资源,另一个线程释放该资源,通过引用计数实现 对托管资源只有在极少数情况下才使用终结器 终结器被调用的时刻:1、第0代满:2、显式调用GC.Collect3、Windows报告内存不足4、CLR卸载AppDomain5、CLR关闭 内部实现使用终结列表保留对象,通过这个GC进行处理, freachable队列 =Dispose终结器的调用时间由GC确定,调用者无法显式调用它Dispose提供了显式清理资源的能力 GCHandle WeakReference System.Runtime.CompilerServices.ConditionalWeakTable 加入时的是对象的WeakReference,因此可能会回收,但可以确保只要key存在,value也是存在的 任何大于85000字节的对象被自动认为是大对象,大对象在大对象堆中分配 ==大量资源GCpublic static void AddMemoryPressure(Int64 bytesAllocated); public static void RemoveMemoryPressure(Int64 bytesAllocated);提示GC实际需要消耗的内存,然后GC监视内存压力,压力变大时,强制回收 System.Runtime.InteropServices HandleCollector 数量有限的本地资源 MemoryFailPoint在需要大量内存前可以先检查是否可以使用这么大的内存 GC的监视代码形式: GC.GetTotalMemory GC.CollectionCountPerMon.exe系统性能监视工具CLR Profiler工具FUSLOGVW.execlrver.exeSvcTraceViewer.exe
- 2012-12-16下载
- 积分:1
-
fastreport .net版本
FastReport.Net是专为Microsoft Visual Studio 2005和2008或任何其他开发工具功能齐全的报表工程而设计的。使用FastReport.Net,您将能够创建应用程序的独立报告。换句话说,FastReport.Net可以作为一个独立的报告工具。
- 2015-01-13下载
- 积分:1
-
c# winform 自定义控件类LayeredSkin.dll
自定义开关按钮,滚动相册,进度条,窗体控件/******************************************************************** * * * * 使本项目源码或本项目生成的DLL前请仔细阅读以下协议内容,如果你同意以下协议才能使用本项目所有的功能, * * 否则如果你违反了以下协议,有可能陷入法律纠纷和赔偿,作者保留追究法律责任的权利。 * * * * 1、你可以在开发的软件产品中使用和修改本项目的源码和DLL,但是请保留所有相关的版权信息。 * * 2、不能将本项目源码与作者的其他项目整合作为一个单独的软件售卖给他人使用。 * * 3、不能传播本项目的源码和DLL,包括上传到网上、拷贝给他人等方式。 * * 4、以上协议暂时定制,由于还不完善,作者保留以后修改协议的权利。 * * * * Copyright (C) 2013-2014 LayeredSkin Corporation All rights reserved. * * 作者: 小红帽 QQ:761716178 * * 请保留以上版权信息,否则作者将保留追究法律责任。 * * * * 创建时间:2014-04-13 * * 说明:QQ.cs * *********************************************************************/using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using LayeredSkin.Forms;namespace test{ public partial class QQ : LayeredForm { public QQ() { InitializeComponent(); } private void layeredButton1_Click(object sender, EventArgs e) { this.WindowState = FormWindowState.Minimized; } private void QQ_Load(object sender, EventArgs e) { this.Animation.Effect = new LayeredSkin.Animations.GradualCurtainEffect() { ChangeHeight = 25 }; yezi = new Bitmap(90, 80);//先把叶子画在稍微大一点的画布上,这样叶子旋转的时候才不会被裁掉一部分 using (Graphics g = Graphics.FromImage(yezi)) { g.DrawImage(Image.FromFile("Images\yezi3.png"), 10, 0); } timer1.Start(); } private void layeredButton2_Click(object sender, EventArgs e) { this.Animation.Effect = new LayeredSkin.Animations.GradualCurtainEffect(); this.Animation.Asc = true; this.Close(); } private void FormMoveMouseDown(object sender, MouseEventArgs e) { LayeredSkin.NativeMethods.MouseToMoveControl(this.Handle); } Image Cloud = Image.FromFile("Images\cloud.png"); float cloudX = 0; Image yezi; float angle = 10; bool RotationDirection = true;//是否为顺时针 protected override void OnLayeredPaint(PaintEventArgs e) { Graphics g = e.Graphics; if (cloudX > this.Width - Cloud.Width) {//云的飘动 cloudX = 0; } else { cloudX = 0.5f; } g.DrawImage(Cloud, cloudX, 0);//把云绘制上去 if (angle > 10) {//控制旋转方向 RotationDirection = false; } if (angle < -10) { RotationDirection = true; } if (RotationDirection) { angle = 1; } else { angle -= 1; } using (Image temp = LayeredSkin.ImageEffects.RotateImage(yezi, angle, new Point(25, 3))) { g.DrawImage(temp, 140, 70);//绘制叶子 } base.OnLayeredPaint(e); } private void timer1_Tick(object sender, EventArgs e) { LayeredPaint(); GC.Collect(); } public bool isShow = false; bool isFirst = true; private void layeredButton3_Click(object sender, EventArgs e) { isShow = false; if (isFirst) { this.Animation.Effect = new LayeredSkin.Animations.ThreeDTurn(); this.Animation.AnimationEnd = Animation_AnimationEnd; } isFirst = false; this.Animation.Asc = false; this.Animation.Start(); } //QQConfig config; void Animation_AnimationEnd(object sender, LayeredSkin.Animations.AnimationEventArgs e) { if (!isShow) { this.Hide(); QQConfig config = new QQConfig(this); config.Location = this.Location; config.Show(); } } }}
- 2020-12-11下载
- 积分:1
-
基于51单片机的硬币电子秤的实现
这是基于51单片机的硬币电子秤的实现,内含C语言源码和proteus仿真实现 【源码目录】 硬币电子秤的实现 ├── 1Kg电子秤程序(LCD1602显示)│ ├── HX711.H│ ├── HX711.LST│ ├── HX711.OBJ│ ├── HX711.c│ ├── LCD1602.LST│ ├── LCD1602.OBJ│ ├── LCD1602.c│ ├── LCD1602.h│ ├── MAIN.H│ ├── lcd12864.LST│ ├── lcd12864.OBJ│ ├── lcd12864.c│ ├── lcd12864.h│ ├── main│ ├── main.LST│ ├── main.M51│ ├── main.OBJ│ ├── main.c│ ├── main.hex│ ├── main.lnp│ ├── main.plg│ ├── main.uvgui.Administrator│ ├── main.uvgui.Cai Chao│ ├── main.uvgui_Administrator.bak│ ├── main.uvgui_Cai Chao.bak│ ├── main.uvopt│ ├── main.uvproj│ ├── main_uvopt.bak│ ├── main_uvproj.bak│ ├── uart.LST│ ├── uart.OBJ│ ├── uart.c│ └── uart.h├── HX711模块加载文件│ └── HX711.hex├── Last Loaded 电子秤实现3.fv8.5.pdsbak├── Last Loaded 电子秤实现3.pdsbak├── 电子秤实现3.pdsprj├── 电子秤实现3.pdsprj.DESKTOP-SC10NBS.zxh.workspace└── 电子秤实现3.pdsprj.LAPTOP-KPK9NO8B.浪峰姐姐.workspace2 directories, 39 files【核心代码】void main(){ Uart_Init(); Send_Word("Weight"); Send_Word("Num"); Init_LCD1602(); LCD1602_write_com(0x80); LCD1602_write_word("Weight"); LCD1602_write_com(0x80 7); LCD1602_write_word("Num"); Delay_ms(1000); //ÑÓʱ,µÈ´ý´«¸ÐÆ÷Îȶ¨ Get_Maopi(); //³ÆëƤÖØÁ¿ while(1) { EA = 0; Get_Weight(); //³ÆÖØ Number = Weight_Shiwu/(coin_weight*10); EA = 1; Scan_Key(); //ÏÔʾµ±Ç°ÖØÁ¿ if( Flag_ERROR == 1) { Send_Word("ERROR"); LCD1602_write_com(0x80 0x40); LCD1602_write_word("ERROR "); } else { Send_ASCII(Weight_Shiwu/1000 0X30); Send_ASCII(Weight_Shiwu%1000/100 0X30); Send_ASCII(Weight_Shiwu%100/10 0X30); Send_Word("."); Send_ASCII(Weight_Shiwu%10 0X30); Send_Word("g"); LCD1602_write_com(0x80 0x40); LCD1602_write_data(Weight_Shiwu/1000 0X30); LCD1602_write_data(Weight_Shiwu%1000/100 0X30); LCD1602_write_data(Weight_Shiwu%100/10 0X30); LCD1602_write_word("."); LCD1602_write_data(Weight_Shiwu%10 0X30); LCD1602_write_word("g"); Send_ASCII(Number/100 0x30); Send_ASCII(Number%100/10 0x30); Send_ASCII(Number%10 0x30); LCD1602_write_com(0x80 0x40 7); LCD1602_write_data(Number/100 0x30); LCD1602_write_data(Number%100/10 0x30); LCD1602_write_data(Number%10 0x30); Send_ASCII(coin/10 0x30); Send_ASCII(coin%10 0x30); Send_Word("jiao"); LCD1602_write_com(0x80 12); LCD1602_write_data(coin/10 0x30); LCD1602_write_data(coin%10 0x30); LCD1602_write_com(0x80 0x40 12); LCD1602_write_word("jiao"); } }}
- 2021-05-06下载
- 积分:1