- 深入理解汇编语言子程序设计与系统调用
网安spinage
汇编语言开发语言汇编算法
本文将全面解析汇编语言中子程序设计的核心技术以及系统调用的实现方法,涵盖参数传递的多种方式、堆栈管理、API调用等关键知识点,并提供实际案例演示。一、子程序设计:参数传递的艺术1.寄存器传参:高效简洁.386.modelflat,stdcalloptioncasemap:none.dataxdd5;定义变量ydd6sumdd?.code;函数定义:addxy1addxy1procpushebpmo
- _stdcall、_cdecl、_fastcall c++、c 64位、32位 msvc、gcc 编译出库的区别
yayapoi~
c/c++c++c语言
一、32位环境下的函数名修饰(1)MSVC编译器(2)GCC编译器二、64位环境下的函数名修饰(1)MSVC/GCC通用规则三、关键差异总结1.32位与64位:32位严格区分调用约定,名称修饰包含调用约定标识(如@4、@@YG);64位调用约定被忽略,名称修饰不体现调用约定信息。2.MSVC与GCC:MSVC的C++名称修饰包含调用约定标识(如@@YG、@@YI),GC
- C#生成DLL给C语言调用的例子
caimouse
C#入门到精通c#c语言
usingSystem;usingSystem.Runtime.InteropServices;namespaceCSharpDll{publicclassMathOperations{//使用DllExport特性导出函数,采用Cdecl调用约定[DllExport("Add",CallingConvention=CallingConvention.Cdecl)]publicstaticintA
- mysql c语言api_MySQL的C语言API接口
weixin_39665507
mysqlc语言api
1、首先当然是连接数据库,函数原型如下:MYSQL*STDCALLmysql_real_connect(MYSQL*mysql,constchar*host,constchar*user,constchar*passwd,constchar*db,unsignedintport,constchar*unix_socket,unsignedlongclientflag);第一个参数MYSQL是Cap
- 定时移动鼠标点击鼠标,防止电脑息屏的vba脚本
panfei263031
vba开发语言
TypePOINTAPI'ThisholdsthelogicalcursorinformationDimxAsLongDimyAsLongEndTypePublicDeclareFunctionGetCursorPosLib"user32"(lpPointAsPOINTAPI)AsLongPublicDeclareFunctionSetCursorPosLib"user32"(Byvalxaslo
- 逆向-Replace
想躺着赚米
逆向ctf逆向
幻想成为ctf糕手的第九天Replace32位upx壳,使用upx工具脱壳找到主函数,在主函数中可以看到,输入字符串长度应该在37以内,进入sub_401090函数int__cdeclmain(intargc,constchar**argv,constchar**envp){charBuffer[40];//[esp+4h][ebp-2Ch]BYREFmemset(Buffer,0,sizeof(
- QT开发海康工业相机 双相机
入门工作者
qtvisualstudio
背景海康给的demo中只有MFC的c++例程,没有QT的。网上其他很多博客都是直接用MFC的开线程取图,我习惯用回调函数进行取图,并和信号槽绑定在一起。UI界面核心代码声明回调函数staticvoid__stdcallImageCallBackEx(unsignedchar*pData,MV_FRAME_OUT_INFO_EX*pFrameInfo,void*pUser);staticvoid__
- C++和C#接口对应关系
晓纪同学
C#技巧总结c#c++开发语言
文章目录WindowsDATAC++和C#举例说明例如我们在C/C++下的结构数据如下:函数转换导入[Pure]:[DllImport(DllExtern,CallingConvention=CallingConvention.Cdecl,ExactSpelling=true)]:internalstaticexternIntPtrUCV_Base_Object_GetName(IntPtrsel
- C/C++ 调用约定:深入理解栈与平栈
re1ife
c语言c++栈调用约定汇编
前言在编程中,理解函数调用约定和栈的机制对于编写高效代码、调试程序以及进行逆向工程至关重要。本文将深入探讨C和C++的调用约定,以及栈与平栈的相关知识。C调用约定在C语言中,默认的调用约定是cdecl。cdecl调用约定的特点如下:参数传递:参数从右向左依次压入栈中。栈清理:调用者负责清理栈(即调用者在函数返回后负责平栈)。返回值:返回值通常存放在EAX寄存器中。示例:intadd(inta,in
- 编译时报错“LNK2019 无法解析的外部符号”的可能原因及其解决办法
烟锁池塘柳0
程序设计与编程语言c++
在VS2022中运行C++程序的时候,有时候会遇到这样的问题:1>(源文件名称).obj:errorLNK2019:无法解析的外部符号"public:__cdecl(函数名(参数列表))"(??0(函数名与乱码)@@QEAA@XZ),函数main中引用了该符号1>项目路径\x64\Debug\可执行程序名.exe:fatalerrorLNK1120:1个无法解析的外部命令遇到这种问题,可以说是很难
- win32汇编环境,对话框程序中创建托盘示例一
一品人家
汇编
;运行效果;win32汇编环境,对话框程序中创建托盘示例一;托盘,就是电脑桌面右下角那个角落里的图标,这里展示基本的应用方法。;直接抄进RadAsm可编译运行。重要部分加备注。;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.386.modelflat,stdcalloptioncasema
- 函数调用汇编
闯闯爱编程
汇编
目录一、核心概念二、函数调用过程(以x86cdecl为例)三、x86vsx64区别四、示例分析(C代码→汇编)五、常见问题一、核心概念调用约定(CallingConvention)规定参数传递顺序(如cdecl是右到左)、栈清理责任(调用者或被调用者清理)。常见约定:cdecl(C默认)、stdcall(Win32API)、fastcall(寄存器传参)。栈帧(StackFrame)每个函数调用时
- QT5.9.2项目复制到新电脑上后“error: LNK2019: 无法解析的外部符号”错误
csdndenglu
qt
QT5.9.2项目更换到另一台电脑后报:pdfctrl.obj:-1:error:LNK2019:无法解析的外部符号"public:void__cdeclExportPdf::on_pushButton_import_preview_clicked(classQList)"(?on_pushButton_import_preview_clicked@ExportPdf@@QEAAXV?$QList
- 编译时报错“fatal error LNK1169: 找到一个或多个多重定义的符号”的可能原因及其解决办法
烟锁池塘柳0
C++VS2022报错c++
在VS2022中运行C++程序的时候,有时候会遇到这样的问题:1>(源文件名称).obj:errorLNK2005:"(函数的返回值类型)__cdecl(函数名(参数列表))"(?(函数名与乱码)@@YA_NPEAUlinknode@@@Z)已经在(解决方案名称).obj中定义1>(可执行程序的路径与名称).exe:fatalerrorLNK1169:找到一个或多个多重定义的符号遇到这种问题,可以
- Windows逆向工程入门之调用约定
0xCC说逆向
windows汇编开发语言逆向安全
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录调用约定调用约定约定规则cdeclstdcallfastcallthiscall调用约定调用约定调用约定(CallingConvention):确定了函数调用时参数传递、返回值处理以及寄存器使用的规则。堆栈(Stack):用于存储函数的参数、返回地址和局部变量。约定规则cdecl参数从右到左压入堆栈。调用者负责清理堆栈。#incl
- python编译成dll_如何用 C++ 为 Python 写 dll
刘大1984
python编译成dll
1.先新建一个名为hello.cpp的C++源文件:#include#defineDLLEXPORTextern"C"__declspec(dllexport)DLLEXPORTint__stdcallhello(){printf("Helloworld!\n");return0;}2.编译成dll文件:cl/LDhello.cpp注意,这里的参数是/LD,而不是/DL。3.编写一个名为hello
- AFL QEMU模式安装报错(afl-2.52b & qemu-2.10.0)[已解决]
geniusle201
aflqemuafl-qemu模糊测试patch
搭建afl-qemu模块的时候,碰到了如下2个报错:xxxxxxxx/qemu/linux-user/syscall.c:253:16:error:staticdeclarationof‘gettid’followsnon-staticdeclaration253|_syscall0(int,gettid)^~~~~~xxxxxxxxx/qemu/linux-user/syscall.c:184:
- win32汇编环境,对线程的创建与操作示例二
一品人家
汇编
;运行效果;win32汇编环境,对线程的创建与操作示例二;本文主要是实现用CreateThread创建线程时,如何把参数传入进去;以下举3个例子说明,如何把数值、字符串和自定义结构传入线程之中;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.386.modelflat,stdcallopti
- c++中函数的调用方式
Kadima°
C++小笔记c++
c++中函数的调用方式编译器一般使用堆栈来实现函数调用。当一个函数被调用时,(进程内核对象为其在进程的地址空间的堆栈部分)分配一定的栈内存给函数使用,函数堆栈用于:1.在进入函数前,保存“返回地址”和环境变量。返回地址是指该函数结束后,从进入该函数之前的哪个地址继续执行下去。2.在进入函数之后,保存局部变量等。在Win32下有一下4中调用:1._cdecl:它是c/c++默认的调用方式。实参是以参
- win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一
一品人家
汇编
;运行效果;win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一;生成2条横的跟踪条,分别设置不同的数值范围,设置不同的进度副度的例子;直接抄进RadAsm可编译运行。重要部分加备注。;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.386.modelflat,stdcalloption
- C++ 为什么需要 extern "C"
c++面试编译链接
在C++调用C语言编译器编译的库时,是不是经常遇到下面这个报错:errorLNK2019:无法解析的外部符号"int__cdecladd(int,int)"(?add@@YAHHH@Z),函数main中引用了该符号正如《EffectiveC++》开篇所说,C++是一个C语言、OO风格、模板、STL风格组成的语言联邦,C++是可以直接引入C语言代码编译的库的,而C语言和C++由于链接器符号设计的差异
- win32汇编环境,窗口程序中使用滚动条控件的一般操作
一品人家
汇编
;运行效果;win32汇编环境,窗口程序中使用滚动条控件的一般操作;展示窗口程序中如何设置水平滚动条与垂直滚动条,响应滚动条被点击,刻度即时变化等;直接抄进RadAsm可编译运行。重点部分加备注。;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.386.modelflat,stdcallop
- win32汇编环境,窗口程序中基础列表框的应用举例
一品人家
汇编
;运行效果;win32汇编环境,窗口程序中基础列表框的应用举例;比如在窗口程序中生成列表框,增加子项,删除某项,取得指定项内容等;直接抄进RadAsm可编译运行。重点部分加备注。;以下是ASM文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.386.modelflat,stdcalloptioncasem
- C++ 为什么需要 extern "C"
c++面试编译链接
在C++调用C语言编译器编译的库时,是不是经常遇到下面这个报错:errorLNK2019:无法解析的外部符号"int__cdecladd(int,int)"(?add@@YAHHH@Z),函数main中引用了该符号正如《EffectiveC++》开篇所说,C++是一个C语言、OO风格、模板、STL风格组成的语言联邦,C++是可以直接引入C语言代码编译的库的,而C语言和C++由于链接器符号设计的差异
- c# net8调用vc写的dll
wiseyao1219
c#开发语言dll
dll程序(vc,x86)头文件extern"C"int__declspec(dllexport)WINAPIadd(inta,intb);实现intWINAPIadd(inta,intb){returna+b;}c#/net8函数声明:[DllImport("dll/Dll1.dll",CallingConvention=CallingConvention.StdCall)]publicstat
- c++使用_beginthreadex创建线程
梦想患者
功能开发小技巧c++Thread
记录使用_beginthreadex(),来创建线程。方便后期的使用。创建一个线程相关函数介绍unsignedlong_beginthreadex(void*security,//安全属性,为NULL时表示默认安全性unsignedstack_size,//线程的堆栈大小,一般默认为0unsigned(_stdcall*start_address)(void*),//所要启动的线程函数void*a
- 【c语言——文件操作】
小白往前冲
c语言服务器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档c语言——文件操作 1.第1章文件操作文件空间FILE*fp=打开输入输出关闭1.1文件指针FILE*fp;1.2文件打开或创建fopen()FILE*_Cdeclfopen(constchar*path,constchar*mode);以指定文件路径和一定的模式打开一个文件。path:所打开的文件路径mode:打开模式r读w写a追加
- c语言中ntdll.dll,在Win32环境中从ntdll.dll调用Nt函数,C
常河
c语言中ntdll.dll
我想从ntdll.dll调用一些Nt函数,我就是这样做的.对于调用:NtTestAlert(),您需要典型的ntcall内核例程,可通过int2Eh访问.(从这里我得到Nt功能http://undocumented.ntinternals.net/)代码也未完成,我得到:*错误C2664:’_callcall’:无法将参数1从’int’转换为’MESS(_stdcall)’#include#inc
- [NISACTF 2022]sign-ezc++
_Nickname
c++开发语言
IDA打开int__cdeclmain(intargc,constchar**argv,constchar**envp){Human*v3;//rbxHuman*v4;//rbxcharv6[23];//[rsp+20h][rbp-20h]BYREFcharv7;//[rsp+37h][rbp-9h]BYREFHuman*v8;//[rsp+38h][rbp-8h]_main(argc,argv,
- 编译unzip6.0+错误
chenxiaochou
unzip编译
NMAKE:fatalerrorU1077返回代码“0x2”NMAKE:fatalerrorU1077:“cl-O2-c-W3-DCRTAPI1=_cdecl-DCRTAPI2=_cdecl-nologo-D_X86_=1-DWIN32-D_WIN32-nologo-J-D_MBCS-DASM_CRC-DIZ_CRCOPTIM_UNFOLDTBL-DUNICODE_SUPPORT-I.win32/
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s