
CJava
文章平均质量分 72
编程语言工具
kv110
这个作者很懒,什么都没留下…
展开
-
leetcode笔试题
leetcode笔试题原创 2023-05-11 08:52:29 · 596 阅读 · 0 评论 -
asan简单介绍
asan简单介绍原创 2023-02-20 23:39:56 · 785 阅读 · 0 评论 -
linux C动态库和静态库
Linux C动态库与静态库原创 2023-02-16 23:35:40 · 198 阅读 · 0 评论 -
QuickJS 源码剖析:垃圾回收原理
链接:https://www.jianshu.com/p/1a3128914ed5QuickJS 是一个轻量级的 JavaScript 引擎,可以代替 V8 实现 JS 脚本的执行,如果要使用 QuickJS,必须要弄懂其垃圾回收原理,否则容易出现野指针或内存泄漏,从而导致程序崩溃,本文通过源码剖析 QuickJS 的垃圾回收原理。引用计数法QuickJS 是使用引用计数法来判断对象是否可以被释放,引用计数法非常简单,通过给对象分配一个计时器来保存该对象被引用的次数,如果该对象被其它对象引用就会转载 2022-05-08 12:57:13 · 1610 阅读 · 0 评论 -
quickjs 介绍
原文见https://www.cnblogs.com/gaobw/p/11693876.html在github.com/quickjs-zh/QuickJS代码里有个例子bjson.c, test_bjson.js跟这个一样1.1. 简介QuickJS是一个小型的可嵌入Javascript引擎。它支持ES2020规范,包括模块、异步生成器和代理。它还支持数学扩展,比如大整数(BigInt)、大浮点数(BigFloat)和操作符重载。1.2. 安装Linux 直接下载 源码make转载 2021-11-15 23:27:23 · 2701 阅读 · 0 评论 -
sqlite3简介
下载www.sqlite.org/download.htmlsqlite3不区分大小写编译$ ./configure --prefix=/usr/local$ make$ make install或者gcc命令直接运行sqlite3.help 帮助.exit/quit 退出.show 显示各种设置的当前值。.header on 输出时显示字段名称.mode column 输出时左对齐的列.timer on 显示CPU计时.databases 列出数据库名...原创 2021-11-14 23:31:22 · 1582 阅读 · 0 评论 -
UTF8编码
UTF8使用1-4个字节表示一个字符一个字节 00-7F ASCII码0-127二个字节C0-DF 拉丁文等欧洲文字,阿拉伯文三个字节E0-EF 中日韩朝文字 东南亚文字四个字节F0-FF编码格式0xxxxxxx110xxxxx 10xxxxxx (0x80-0xDF)1110xxxx 10xxxxxx 10xxxxxx11110xxx 10xxxxxx 10xxxxxx 10xxxxxx111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xx...原创 2021-11-09 22:42:05 · 563 阅读 · 0 评论 -
cmake指定编译器
https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#how-do-i-use-a-different-compiler1. 使用环境变量CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 cmake -G "Your Generator" path/to/your/source2.use cmake -Dcmake -G "Your Generator" -D CMAKE_C_COMPILER=gc.转载 2021-07-26 23:51:02 · 4843 阅读 · 0 评论 -
macbook上使用gdb
由于要在mac上制作自己的malloc动态存储分配器,要使用gdb进行调试,之前一直在centos上用gdb调试,转到mac上竟然发现有这么多坑,还好一一解决了,其原因大多数因为mac上非常关注程序安全性的问题。主要会碰到的问题主要有如下问题,如果大家发现如下的问题就可以接着看下去:1.-bash: gdb: command not found2. `Starting program: /x/y/fooUnable to find Mach task port for process-id 288转载 2021-07-22 22:37:16 · 2587 阅读 · 3 评论 -
CMakeLists.txt 语法介绍
一、Cmake 简介cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。二、常用命令1. 指定 cmake 的最小版本cmake_minimum_required(VERSION 3.4.1)这行命令是可选的,我们可以不写这句话,但在有些情况下,如果 CMakeLists.txt 文件中使用了一些高版本 cmake 特有的一些命令的时候,就需要加上这样一行,提醒用户升级到该版本之后再执行 cmake转载 2021-07-21 23:26:34 · 258 阅读 · 0 评论 -
linux双向链表list_head
https://blog.youkuaiyun.com/u013253075/article/details/80849906?spm=1001.2014.3001.5501在看这个知识点的时候我相信大家对数据结构已经有所了解,尤其是对链表的了解,因此在这里不过多讲解传统的链表基本知识,这里只给出通常双向链表的数据结构。struct list_node{ struct list_node *next,*prev; type1 m1; type2 m2;}; 在Linux...转载 2021-07-20 23:38:39 · 523 阅读 · 0 评论 -
C语言回调函数
https://www.cnblogs.com/jiangzhaowei/p/9129105.html1. 什么是回调函数?回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义。我在百度上搜了一下,发现众说纷纭,有很大一部分都是使用类似这么一个场景来说明:A君去B君店里买东西,恰好缺货,A君留下号码给B君,有货时通知A君。感觉这个让人更容易想到的是异步操作,而不是回调。另外还有两句英文让我印象深刻:1) If you call me,转载 2021-07-20 23:06:36 · 92 阅读 · 0 评论 -
双向链表C语言实现
https://zhuanlan.zhihu.com/p/112286505结构体typedef struct listNode{ struct listNode * prev; int data; struct listNode * next;}listNode;初始化链表listNode* initlistNode(listNode * head, int arr[], int n){ head=(listNode*)malloc(sizeof(...转载 2021-07-18 22:11:39 · 207 阅读 · 0 评论 -
JAVA面试题
一、Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可转载 2021-07-14 08:20:29 · 267 阅读 · 0 评论 -
C++面试
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。哪些函数不能成为虚函数?1.内联函数:我们都知道内联函数只是在函数调用点将其展开,它不能产生函数符号,所以不能往虚表中存放,自然就不能成为虚函数。2.静态函数:定义为静态函数的函数,这个函数只和类有关系,它不完全依赖于对象调用,所以也不能成为虚函数。3.构造函数:都知道只有当调用原创 2021-07-13 23:34:20 · 104 阅读 · 0 评论 -
Java 关于强引用,软引用,弱引用和虚引用的区别与用法
https://blog.youkuaiyun.com/lovoo/article/details/51615423https://blog.youkuaiyun.com/mazhimazh/article/details/19752475一、概述:众所周知,Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)。为了解决内存操作不灵活这个问题,可以采用软引用等方法。在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象转载 2021-07-11 22:50:11 · 203 阅读 · 0 评论 -
PHP开发环境
1. 下载软件PHP vc11 (VS2012) http://windows.php.net/download/Apache http://www.apache.org/dyn/closer.cgi/httpd/binaries/直接下载xampp (包括PHP, apache, MySQL)https://sourceforge.net/projects/xamp原创 2021-07-04 18:01:53 · 109 阅读 · 0 评论 -
C语言面试题总结
1 预处理问题1:什么是预编译?何时需要预编译?答:预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.何时需要预编译:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。问题2:写一个“标准”宏,这个宏输入两个参数并返回较小的一个答:#define转载 2021-06-15 00:14:05 · 671 阅读 · 0 评论 -
C语言文件读写操作
int open(constchar*pathname,intflags);int open(constchar*pathname,intflags,mode_t mode);int write(int handle, void *buf, int nbyte)O_RDONLY只读模式O_WRONLY只写模式O_RDWR读写模式O_APPEND每次写操作都写入文件的末尾O_CREAT如果指定文件不存在,则创建这个文件O_EXCL如果要创建的文件已存在,则返回-1,并且修.原创 2021-04-08 23:19:28 · 147 阅读 · 0 评论 -
自动保存屏幕
#!/bin/bashadb wait-for-devicefor (( i = 1; i < 100; i++));do var1=$i str=/sdcard/pic${var1}.png echo ${str} adb shell screencap -p ${str} adb pull ${str} ./test/ sleep 10sdone原创 2020-08-28 14:47:20 · 139 阅读 · 0 评论 -
JAVA堆栈图解
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public s...转载 2019-12-01 15:35:12 · 281 阅读 · 0 评论 -
Litter endian/Big endian
Litter endian/Big endian little endian 低字节存放在内存地址的低位, 高字节存放在地址高位big endian 低字节存放在内存地址的高位, 高字节存放在地址低位 以下是判断字节存储顺序的可移植的C语言代码: /*********************************************************原创 2008-10-18 21:51:00 · 923 阅读 · 0 评论 -
mspdb80.dll not found解决方案
在cmd中键入ml 执行编译时会出现mspdb80.dll无法找到的情况,是因为VC/Bin/下没有“msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件(在VS2005中并没有这四个文件),解决的方法: 1>直接从Common7/IDE/下复制这四个文件到VC/Bin/下即可解决 2>添加系统变量(Path),这样:我的原创 2008-06-16 17:10:00 · 6027 阅读 · 2 评论 -
CTabSheet
// TabSheet.cpp : implementation file//#include "stdafx.h"#include "dltool.h"#include "TabSheet.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////转载 2008-06-08 12:43:00 · 2275 阅读 · 2 评论 -
Display driver test (BCB)
//---------------------------------------------------------------------------#include #pragma hdrstop#include "Unit1.h"#include "dwdptest.h"#include "common.h"#include #include //---------------原创 2008-06-08 15:52:00 · 662 阅读 · 0 评论 -
Display driver test (VC)
// DisplayTestDlg.cpp : implementation file//#include "stdafx.h"#include "DisplayTest.h"#include "DisplayTestDlg.h"#include "./displaytestdlg.h"#include "dwdptest.h"#include "common.h"#ifdef _DEBU原创 2008-06-08 12:36:00 · 1243 阅读 · 2 评论 -
Display Camera test (BCB dll)
//---------------------------------------------------------------------------//#include #include #include #pragma hdrstop#include "PC_OS.h"#include "testsuite_dll.h"#include "dwdptest.h"#pragma args原创 2008-05-19 19:40:00 · 934 阅读 · 0 评论 -
ReadExcel
// readexcelDlg.cpp : implementation file//#include "stdafx.h"#include "readexcel.h"#include "readexcelDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#e转载 2008-05-11 17:07:00 · 2262 阅读 · 0 评论 -
key_compare (XML 关键字比较)
// key_compareDlg.cpp : implementation file//#include "stdafx.h"#include "key_compare.h"#include "key_compareDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FIL原创 2008-05-11 16:38:00 · 1289 阅读 · 0 评论 -
ASCII 码
字符 十六进制 十进制 字符原创 2008-03-10 22:07:00 · 750 阅读 · 0 评论 -
JPEG文件格式解析
摘自:http://blog.21ic.com/user1/942/archives/2006/11364.html JPEG文件格式解析 微处理机中的存放顺序有正序(big endian)和逆序(little endian)之分。正序存放就是高字节存放在前低字节在后,而逆序存放就是低字节在前高字节在后。例如,十转载 2009-02-27 19:57:00 · 861 阅读 · 0 评论 -
函数指针
函数指针 指向函数代码首地址的指针变量称为函数指针。 格式:函数返回类型 (*函数指针变量名)(形参列表);例如:int (*f1)(int x1, int x2);void (*f2)(void);注意:函数指针括号不可少 (*f)声明一个函数int func(int x); 声明一个函数指针int原创 2009-10-19 17:36:00 · 532 阅读 · 0 评论 -
C语言基础
1. Hello world 例子#include <stdio.h>int main(){ printf("hello world"); return 0;}2. 数据类型char a ='A'; //1个字节32位机器里 short 2个字节 int 4个字节 long 4个字节 float 4个字节 double 8个字节另有无符号...原创 2019-08-07 21:59:09 · 203 阅读 · 0 评论 -
C语言时间转换
C语言时间转换原创 2016-04-11 08:01:26 · 4805 阅读 · 0 评论 -
C语言文件遍历
C语言文件遍历原创 2016-04-11 08:12:49 · 931 阅读 · 0 评论 -
PHP开发入门
PHP入门原创 2016-04-21 22:05:18 · 768 阅读 · 0 评论 -
Java运算符优先级
Java运算符优先级 转自http://wenku.baidu.com/view/61a4823b580216fc700afd22.html 序列号符号名称结合性(与操作数)目数说明1.点从左到右双目 ( )转载 2013-01-19 12:31:29 · 760 阅读 · 0 评论 -
VC下编译C文件出现unexpected end of file的问题
VC下编译C文件出现unexpected end of file while looking for precompiled header directive的问题 右键点工程名,选Settings, 然后选c/c++属性页,再选catagory选单中选 precompiled header ,将选项置成Not using 或者Autometic use 如果加上源文件stdaf原创 2011-12-25 21:24:40 · 1343 阅读 · 0 评论 -
strlen 和sizeof
strlen 和sizeof strlen(const char *)一个函数,返回字符串的实际长度 (截止到’\0’, 但不包括’\0’)sizeof()是一个操作符,不是函数,返回的是变量声明后所占的内存字节数 char str[20] = "0123456789"; int a = strlen(str); //a = 10 int b = sizeof(str)原创 2011-12-24 21:08:28 · 451 阅读 · 0 评论 -
C语言运算符优先级
优先级运算符名称结合方向1[]数组下标左到右()圆括号.成员选择(对象)->成员选择(指针)2-负号运算符右到左(类型)强制原创 2011-12-12 21:31:54 · 447 阅读 · 0 评论