自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (37)
  • 收藏
  • 关注

原创 C#学习 - 关于Task的几种用法

1. 使用Task Factory创建 var tf = new TaskFactory(); var t1 = tf.StartNew(TaskMethod, "using a task factory"); 2. 使用new Task() var t3 = new Task(TaskMethod, "using task con...

2018-03-30 22:59:37 10067

原创 C#学习 - 用Lambda表达式来构造一个递归函数

Lambda表达式来构造一个递归函数”的难点是因为“我们正在构造的东西是没有名字的”,因此“我们无法调用自身”。那么,如果我们换种写法,把我们正在调用的匿名函数作为参数传给自己,那么就可以在匿名函数的方法体中,通过调用参数来调用自身了。下面举例说明用Lambda实现斐波那契第一种方法:声明一个delegate /// <summary> /// 在这里声明...

2018-03-14 16:32:33 1459

转载 C#学习 - Net Framework,Net Core 和 Net Standard 区别

Net Framework,Net Core 和 Net Standard 区别原文链接:Net Framework,Net Core 和 Net Standard 区别 - 乐途 - 博客园 (cnblogs.com)

2021-03-24 10:46:06 258

原创 C#学习 - CsvHelper

CsvHelper可以方便的处理Csv文件, CsvHelper可以从NuGet上下载用法示例1: var table = new DataTable(); var csvFile = Directory.GetCurrentDirectory() + @"\test.csv"; Dictionary<string, Type> TypeMappings = new Dictionary<strin...

2020-10-29 16:21:18 2617 1

原创 C#学习 - Where 和 TakeWhile的区别

TakeWhile:stop until the condition is false, the remaining elements are skippedWhere:continues and find all elements matching the condition举例说明: var intList = new int[] { 1, 2, 3, 4, 5, -1, -2 }; Console.WriteLine("Where");..

2020-10-29 16:04:49 1055

转载 C#对象的初始化顺序

当构造一个c#对象时,理解对象的字段和构造函数的顺序是非常重要的:Derived static fields//派生类静态字段 Derived static constructor//派生来静态构造函数 Derived instance fields//派生类实例字段 Base static fields//基类静态字段 Base static constructor//基类静态构造函数 Base instance fields//基类实例字段 Base instance construct

2020-07-21 11:40:58 321

原创 C# 学习 - & 和 && 的区别

逻辑 AND 运算符 &&运算符计算操作数的逻辑与。如果x和y的计算结果都为true,则x & y的结果为true。否则,结果为false。即使左侧操作数计算结果为false,&运算符也会计算这两个操作数,而在这种情况下,无论右侧操作数的值为何,运算结果都为false。条件逻辑 AND 运算符 &&条件逻辑与运算符&&(亦称为“短路”逻辑与运算符)计算操作数的逻辑与。如果x和y的计...

2020-07-03 13:00:55 621

原创 Octave - 多项式求积分和微分

多项式如下上述多项式,在Octave中,可以用以下向量表示其系数>> c = [ 2 10.1 0 6]c = 2.00000 10.10000 0.00000 6.00000求积分函数>> polyint(c)ans = 0.50000 3.36667 0.00000 6.00000 0.0...

2019-05-29 15:24:15 2792

原创 Octave - 由IQ数据计算功率谱

load "C:\\Users\\guest\\Desktop\\Octave\\IQ_Data.csv";I_data = C__Users_guest_Desktop_Octave_IQ_Data(:,1);Q_data = C__Users_guest_Desktop_Octave_IQ_Data(:,2);# 采样率307200sampling_rate = 307200n...

2019-05-28 16:29:35 4935 2

原创 用VS自带的dumpbin.exe工具查看DLL

从程序菜单启动 Developer Command Prompt for VS2015运行dumpbin可以开到帮助文档常用: dumpbin /exports &lt;dllFile&gt;

2018-11-21 17:38:42 1682 1

原创 C#学习 - .Net调用C++写的DLL库

1. Create a C++ Win32 Console Application2. 在新建的工程中添加头文件CppDll.h,内容如下#pragma once#ifdef CPPDLL_EXPORTS #define CPPDLL_EXPORTS __declspec(dllexport) #else #define CPPDLL_EXPORTS __dec...

2018-09-12 10:58:28 4709

原创 C#学习 - 接口和实现用不同DLL的意义

为了保证实现部分代码的变化不需要重新编译应用程序,一种可以采用的方法是:将设计的library分为2个dll,1. 一部分为公共接口dll,这个dll被外部应用工程引用。2. 另一部分为接口的实现部分。在第一部分项目中,实现工厂类,并采用动态加载的方式将第二部分的dll加载并实例化。用这个方法,如果某应用需要调用library,只需要引用第一个dll,即接口dll。而接口实现的...

2018-08-09 15:20:17 1286

原创 R语言学习 - 矩阵的N次方

发现R里面居然没有矩阵的N次内积函数,网上抄了一个能用的,学习一下"%^%" &lt;- function(mat, pow) { if (!is.matrix(mat)) mat &lt;- as.matrix(mat) stopifnot(!diff(dim(mat))) if (pow &lt; 0) { pow &lt;- -pow mat &lt;- solv...

2018-07-09 17:04:14 14841 1

原创 R语言学习 - 如何用plot将两个图重叠

例如实现如下正态分布函数的图形m &lt;- 0sigma &lt;- 1t &lt;- seq(-10,10,by=0.1)n1 &lt;- 1 / sqrt(2 * pi * sigma) * exp(-(t - m)^2/(2*sigma) )plot(t,n1)par(new=TRUE)sigma &lt;- 2n2 &lt;- 1 / sqrt(2 * pi * sigma...

2018-07-09 11:57:01 43426

原创 R语言学习 - 由I/Q数据得到频谱

idata和qdata是从excel表中导出的数据plotFFT &lt;- function(idata, qdata){ sample_rate &lt;- 1.6e9; idata &lt;- data.matrix(idata); qdata &lt;- data.matrix(qdata); num_samples &lt;- dim(idata)[1]; x &l...

2018-07-09 09:45:58 2914

原创 C#学习 - LINQ使用

下面的代码通过反射获取Server类下所有方法,并将带有InterceptAttribute的方法及其Intercept属性保存在Dictionary中。 Assembly ass = Assembly.GetAssembly(typeof(Server)); Type t = ass.GetType("MyServer.Server"); ...

2018-07-05 13:59:16 246

原创 C#学习 - 关于懒汉式和饿汉式单例

1. Eager Singleton(饿汉式单例类),其静态成员在类加载时就被初始化,此时类的私有构造函数被调用,单例类的唯一实例就被创建。 class EagerSingleton { private static EagerSingleton instance = new EagerSingleton(); pri...

2018-06-22 15:35:05 1116

原创 C学习 - SHA256算法的实现

1. Sha2.h/** * \file sha2.h * * \brief SHA-224 and SHA-256 cryptographic hash function * * Copyright (C) 2006-2010, Brainspark B.V. * * This file is part of PolarSSL (http://www.polars...

2018-06-12 16:57:03 2592 1

原创 C学习 - 可变参数用法 (关于va_start,va_end和va_list)

如下例子展示如何使用va_start,va_end,va_list:#include &lt;stdarg.h&gt;int dbg_printf( const char * format, ... ){ va_list ap; int ret; va_start (ap, format); ret = printf( format, ap ); ...

2018-06-12 16:48:32 259

原创 C学习 - Rijndael加密算法实现(linux)

Linux下Rijndael 算法的C实现typedef unsigned char u8;/*-------------------- Rijndael round subkeys ---------------------*/u8 roundKeys[11][4][4];/*--------------------- Rijndael S box table ------------...

2018-06-12 16:39:53 655

原创 C学习 - Kasumi F8/F9算法实现

Linux上的可运行代码,废话不说,直接上C源码1. f8.c/*------------------------------------------------------------------- * F8 - Confidentiality Algorithm *------------------------------------------------------------...

2018-06-12 16:32:50 2359 11

原创 C学习 - Linux下的Tcp Client

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;netinet/in.h&gt;#include &lt;string.h&gt;#define SERVER_PORT_NUM 5025#define SERVER_IP_ADDR "146.208.235.229"#define ERROR -1#defi...

2018-06-12 16:12:44 1964

原创 C学习 - Linux下的Tcp Server

#include &lt;sys/types.h&gt;#include &lt;sys/socket.h&gt;#include &lt;unistd.h&gt;#include &lt;signal.h&gt;#include &lt;string.h&gt;#include &lt;netinet/in.h&gt;#include &lt;stdio.h&gt;#include

2018-06-12 13:20:02 1585

原创 C#学习 - 关于Thread.Yield()和Thread.Sleep()

1. Thread.Yield()该方法是在 .Net 4.0 中推出的新方法,它对应的底层方法是 SwitchToThread。Yield 的中文翻译为 “屈服,让步”,这里意思是主动放弃当前线程的时间片,并让操作系统调度其它就绪态的线程使用一个时间片。但是如果调用 Yield,只是把当前线程放入到就绪队列中,而不是阻塞队列。如果没有找到其它就绪态的线程,则当前线程继续运行。Yield可以让低于...

2018-06-06 10:40:02 4104

原创 C#学习 - 关于AutoResetEvent和ManualResetEvent

在.Net多线程编程中,AutoResetEvent 和 ManualResetEvent 这两个类经常用到,他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset()方法将信号置为不发送状态,WaitOne()等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne()方法,则当信号处于发送状态时,...

2018-06-05 17:34:55 364

原创 C#学习 - 关于Nullable

1. Nullable&lt;T&gt;和T?可以为 null 的类型可表示一个基础类型的所有值,还可以再表示一个 null 值。 可通过以下两种方式之一声明可为 null 的类型:Nullable&lt;T&gt; variable  或 T? variable(c#的语法糖衣)。例如:Nullable&lt;int&gt; a 与  int? a 等效,都表示声明一个可以为空值的整型变量a。2...

2018-06-05 11:46:06 160

原创 C#学习- 关于lock,mutex和semephore

C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。lock是一种比较简单的线程同步方式,它是通过为给定...

2018-06-04 11:20:57 2948

转载 C#学习 - 关于析构函数,Dispose,和Close

转自 https://blog.csdn.net/lianchangshuai/article/details/9501781C# 中的析构函数实际上是重写了 SystemFinalize.Object 中的虚方法 Finalize三种最常的方法如下:  1. 析构函数;(由GC调用,不确定什么时候会调用)  2. 继承IDisposable接口,实现Dispose方法;(可以手动调用。比如数据库...

2018-05-31 10:40:48 1020

原创 C#学习 - 如何自动删除应用程序创建的临时文件

直接上代码using System;using System.IO;sealed class TempFile : IDisposable{ string path; public TempFile() : this(System.IO.Path.GetTempFileName()) { } public TempFile(string path) { ...

2018-05-31 10:16:54 2373

原创 C#学习 - 关于Interlocked.CompareExchange()的用法

Interlocked.CompareExchange有一组函数 名称说明CompareExchange(Double, Double, Double)比较两个双精度浮点数是否相等,如果相等,则替换第一个值。CompareExchange(Int32, Int32, Int32)比较两个 32 位有符号整数是否相等,如果相等,则替换第一个值。CompareExchange(Int64, Int64...

2018-05-28 17:50:01 14173

原创 C#学习- 用FTP(FtpWebRequest/FtpWebResponse)传输文件

废话不说,直接上代码,一目了然 class FtpClient { private string host = null; private string user = null; private string pass = null; private FtpWebRequest ftpRequest = null; ...

2018-05-25 11:48:14 10897 1

原创 C#学习 - XML Serialization

将一个对象序列化到XML文件[Serializable]public class SomeClass{ public int Field1 { get; set; } public string Field2 { get; set;}}...string xmlFileName = @"c:\temp\1.xml";var obj = new SomeClass();Xml...

2018-04-25 10:08:36 663

原创 WPF学习 - 关于数据绑定

一篇不错的文章,详细阐述WPF数据绑定的各种用法

2018-04-24 10:08:13 136

原创 WPF学习 - 关于TreeView数据绑定

一篇关于如何在WPF中使用TreeView数据绑定的好文https://blogs.msdn.microsoft.com/mikehillberg/2009/10/30/treeview-and-hierarchicaldatatemplate-step-by-step/

2018-04-20 17:03:38 983

原创 C#学习 - 关于XML文件的读写

直接上代码说明Xml读写1. 写Xml XmlDocument myXml = new XmlDocument(); XmlNode docNode = myXml.CreateXmlDeclaration("1.0", "UTF-8", null); myXml.AppendChild(docNode); ...

2018-04-13 11:50:26 226

原创 C#学习 - 关于反射

什么是反射?我的理解就是在运行时获取类型的元数据。1. 动态加载AssemblyAssembly ass = Assembly.LoadFrom(dllName);2. 通过反射获取加载的Assembly中定义的类型Type[] types = ass.GetTypes();3. 通过反射获取类型中的属性PropertyInfoPropertyInfo[] p = types[i].GetPro...

2018-04-12 23:30:17 118

原创 C#学习 - 函数参数什么时候需要用ref关键字

提一个问题,函数中有一个Dictionary&lt;string, string&gt;类型的参数,函数中会增加或修改Dictionary中的内容,那么参数中要使用ref关键字么?答案是:不需要!除非你要改变该参数所引用的Dictionary!看一个例子就明白了:void Method1(Dictionary&lt;string, string&gt; dict) { dict["a"] ...

2018-03-23 10:27:32 1948

原创 C#学习 - 编程指南

C# 编程指南 ( C# Programing Guide )C# 编码约定 ( C# Coding Convensions )

2018-03-22 11:13:00 1747

原创 C#学习 - 关于async和await

参考:使用 Async 和 Await 的异步编程 (C#)

2018-03-22 10:24:36 200

原创 C#学习 - 通过App.Config定义应用程序配置参数

参考:C#的配置文件App.config使用总结

2018-03-19 11:37:25 1622

Spectrum Analysis Basics (AN150)

频谱分析基础 详细介绍了频谱仪的原理,使用,以及参数的含义

2024-02-22

TLSF白皮书

TLSF算法白皮书 TLSF算法是一种高效的内存管理算法,非常适用于对内存分配,释放有严格要求的实时系统。

2012-12-27

SRVCC培训资料

SR-VCC的培训材料,比较详细的介绍了SRVCC典型场景下的流程

2012-12-27

The Android Developers Cookbook

安卓开发资料 1. Overview of Android 2. Application Basics: Activities and Intents 3. Threads,Services,Receivers and Alerts 4. User Interface Layout 5. User Interface Events 6. Multimedia Techniques 7. Hardware Interface 8. Networking 9. Data Storage Method 10. Location Based Services 11. Advanced Android Development 12. Debugging

2012-12-21

AdvancedMC Specification

Advanced Mezzanine Card Base Specification - 1.Introduction - 2.Mechanical - 3.Hardware Platform Management - 4.Power Distribution - 5.Thermal - 6.Interconnect - 7.AMC Connector - Appendix A. AMC mating conditions - Appendix B. Signal integrity analysis and guidelines - Appendix C. Regulatroy Standards - Appendix D. Module Handle designs - Appendix E. Requirements Index

2012-09-10

GNU Make Manual

You need a file called a makefile to tell make what to do. Most often, the makefile tells make how to compile and link a program. In this book, we will discuss a simple makefile that describes how to compile and link a text editor which consists of eight C source files and three header files. The makefile can also tell make how to run miscellaneous commands when explicitly asked (for example, to remove certain files as a clean-up operation). To see a more complex example of a makefile, see Appendix C [Complex Makefile], page 141. When make recompiles the editor, each changed C source file must be recompiled. If a header file has changed, each C source file that includes the header file must be recompiled to be safe. Each compilation produces an object file corresponding to the source file. Finally, if any source file has been recompiled, all the object files, whether newly made or saved from previous compilations, must be linked together to produce the new executable editor.

2012-08-29

vxWorks Application Programmer's Guide - 6.8

vxWorks Application Programmer's Guide 6.8 This guide describes the VxWorks operating system, and how to use VxWorks facilities in the development of real-time systems and applications. It covers the following topics: ■ real-time processes (RTPs) ■ RTP applications ■ Static Libraries, Shared Libraries, and Plug-Ins ■ C++ development ■ multitasking facilities ■ POSIX facilities ■ memory management ■ I/O system ■ local file systems ■ error detection and reporting

2012-08-29

IPv6详解(PDF)

中文版本的IPv6介绍书籍,非扫描版. 中文版本的IPv6介绍书籍,非扫描版.

2012-08-29

vxWorks BSP 培训教材

vxWorks BSP Training Slides in PDF

2012-07-12

vxWorks Kernel Programmers Guide 6.8

vxWorks 6.8 Kernal Programming Guide

2012-06-29

Mobile IPv6

Mobile Internet Protocol version 6 (IPv6) allows an IPv6 node to be mobile—to arbitrarily change its location on an IPv6 network—and still maintain reachability. Connection maintenance for mobile nodes is not done by modifying Transport layer protocols, but by handling the change of addresses at the Internet layer using Mobile IPv6 messages, options, and processes that ensure the correct delivery of data regardless of the mobile node's location. This article assumes an understanding of IPv6 as described in the "Introduction to IPv6" white paper at http://www.microsoft.com/technet/network/ipv6/introipv6.mspx.

2012-05-25

Linux Device Drivers

很好的linux驱动介绍之书(英文版) Linux Device Drivers, 2nd Edition, In PDF Format Preface Chapter 1: An Introduction to Device Drivers Chapter 2: Building and Running Modules Chapter 3: Char Drivers Chapter 4: Debugging Techniques Chapter 5: Enhanced Char Driver Operations Chapter 6: Flow of Time Chapter 7: Getting Hold of Memory Chapter 8: Hardware Management Chapter 9: Interrupt Handling Chapter 10: Judicious Use of Data Types Chapter 11: kmod and Advanced Modularization Chapter 12: Loading Block Drivers Chapter 13: mmap and DMA Chapter 14: Network Drivers Chapter 15: Overview of Peripheral Buses Chapter 16: Physical Layout of the Kernel Source

2012-05-25

LTE Advanced (罗德和施瓦茨)

Although the commercialization of LTE technology began in end 2009, the technology is still being enhanced in order to meet ITU-Advanced requirements. This white paper summarizes these necessary improvements, which are known as LTE Advanced.

2012-05-08

LTE 介绍 (罗德和施瓦茨)

Even with the introduction of HSPA, evolution of UMTS has not reached its end. To ensure the competitiveness of UMTS for the next 10 years and beyond, UMTS Long Term Evolution (LTE) has been introduced in 3GPP release 8. LTE, which is also known as Evolved UTRA and Evolved UTRAN, provides new physical layer concepts and protocol architecture for UMTS. This application note introduces LTE FDD and TDD technology and testing aspects.

2012-05-08

Circuit-Switched Voice Services over HSPA

高通发布的 CS over HSPA 的文档

2012-05-08

Dual Cell HSDPA 白皮书

白皮书 - Dual Cell HSDPA and its Future Evolution. Novel Mobile Radio 2009 Jan

2012-05-08

华为 多媒体教案 软切换信令流程

华为多媒体教案,详细解读 WCDMA(UMTS)系统中软切换的原理和实现,生动直观,学习软切换的好东东!

2012-05-08

WCDMA协议与信令分析手册

详细介绍WCDMA(UMTS)系统协议和信令的教材。具体内容如下: 第1章 UTRAN接口协议和功能 第2章 传输网络流程分析 第3章 小区相关流程分析 第4章 系统信息流程分析 第5章 呼叫建立和释放流程分析 第6章 移动性管理流程 第7章 动态资源控制流程 附录A 跟踪工具使用 附录C 缩略语

2012-05-08

理解IPv6 英文版 (第二版) Understanding IPv6

微软出版的讲解IPv6技术的书,内容详实,很高的使用价值。既适合初学者也适合资深IPv6工程师,不可多得的好书。

2012-05-08

Teach Yourself JAVA in 21 Days

浅显易懂的JAVA教程,适用于JAVA初学者

2011-11-23

vxWorks 6.x Net Stack Programmer's guide

Wind River Network Stack for VxWorks 6.x Programmer's Guide 3.1

2011-11-17

Effective C++/More Effective C++

非常棒的C++语言深入学习资料,针对C++编程人员容易混淆的重要知识点逐一进行阐述,内容包括 - 内存管理 - 构造函数、析构函数,赋值语句 - 继承,多态,虚函数 - 其他

2011-11-14

HSPA+ 技术介绍

Qualcomm的关于HSPA+的技术介绍文档,有价值的东西。

2011-11-09

HSPA+ 技术资料

R&S公司的关于HSPA+技术的介绍,详细讲述了HSPA+的主要关键技术,包括: - MIMO - 64QAM高阶调制 - CPC - L2增强(MAC-ehs, Flexible RLC) - 增强CELL_FACH 等,HSPA+ 的经典培训资料

2011-11-09

Multiple PDP context (高通文档)

高通(Qualcomm)的关于多个PDP Context业务模型的描述,清楚的讲述了Primary PDP context, Secondary PDP Context, Multiple Primary PDP Context等的概念及区别。有价值的资料

2011-11-09

Learning the Korn-Shell (chm)

学习K-Shell的好书,读了若干次,每次都有收获

2011-11-01

Thinking in Java (2nd Edition)

学习JAVA的经典之作,有学习收藏价值 Thinking in Java Second Edition Bruce Eckel President, MindView, Inc.

2011-11-01

C++ 培训讲义(ppt)

不可多得的好教材,详细讲述了 函数,指针,类也对象,拷贝构造函数,模板,动态内存分配,继承和多态,异常处理等

2011-11-01

汇编语言的艺术

汇编语言的艺术,一本经典的汇编语言学习手册

2011-11-01

Freescale E500 Reference Manual

Freescale E500 的参考手册

2011-11-01

Mastering Perl (Creating Professional Programs with Perl)

Perl语言的经典书籍。详细讲解了Perl高级编程。

2009-11-12

Thinking in C++ Volume 2

不用多说的好书 !!

2009-09-29

Thinking in C++ Volume 1

Thinking in C++ Volume 1 这个不用说了吧,不可多得的C++经典之作

2009-09-29

HSDPA HSUPA for UMTS

一本介绍HSDPA, HSUPA和WCDMA的好书。

2009-09-29

Code Complete

Code Complete 代码大全

2008-04-11

Learn C++ in 21 days

Learn C++ in 21 days

2008-03-14

空空如也

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

TA关注的人

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