- 博客(33)
- 资源 (25)
- 收藏
- 关注
原创 Cmake交叉编译报boost库引用错误问题解决方案 undefined reference to `boost::gregorian::greg_month::as_long_string()
使用交叉编译时,代码里引用了boost库的方法,编译成功时链接报错。如下代码里引用如下。使用了boost库自带的时间类,获取日期等信息#include "boost/date_time/gregorian/gregorian.hpp"编译后报错如下 undefined reference to `boost::gregorian::greg_month::as_long_string()原因分析:编译时自动引用了boost的基本库。gregorian.hpp里引用了boost_
2022-05-19 13:51:40
1137
2
原创 object-c 经典实用面试题+自己总结的答案(10)
35. NSOperationQueue 和 GCD 的区别。NSOpertaionQueue用GCD构建封装的,是GCD的高级抽象。GCD仅仅支持FIFO队列,而NSOperationQueue中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整。GCD不支持异步操作之间的依赖关系设置。如果某个操作的依赖另一个操作的数据(生产者-消费者模型是其中之一),使用NSOperationQueue能够按照正确的顺序执行操作。GCD则没有内建的依赖关系支持。NSOperationQueue支持K
2022-04-06 12:29:28
200
原创 object-c 经典实用面试题+自己总结的答案(9)- 原生与WKWebview的js调用专题
34.js调用WKWebView- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ if ([navigationAction.request.URL.absoluteString hasPre
2022-04-06 12:28:36
300
原创 object-c 经典实用面试题+自己总结的答案(8)- 算法专题
29.算法快速排序1 ).设置两个变量i,j ,排序开始时i = 0,就j = mutableArray.count - 1;2 ).设置数组的第一个值为比较基准数key,key = mutableArray.count[0];3 ).因为设置key为数组的第一个值,所以先从数组最右边开始往前查找比key小的值。如果没有找到,j–继续往前搜索;如果找到则将mutableArray[i]和mutableArray[j]互换,并且停止往前搜索,进入第4步;4 ).从i位置开始往后搜索
2022-04-06 12:26:39
160
原创 object-c 经典实用面试题+自己总结的答案(7)- 蓝牙开发专题
28.蓝牙开发简单介绍使用.cocoa详细蓝牙使用链接蓝牙连接可以大致分为以下几个步骤建立一个Central Manager实例进行蓝牙管理搜索外围设备连接外围设备获得外围设备的服务获得服务的特征从外围设备读数据给外围设备发送数据其他:提醒首先我们先导入系统的BLE的框架,必须遵守2个协议CoreBluetooth/CoreBluetooth.h/* 中心管理者 /@property (nonatomic, strong) CBCentralManager *cMgr;
2022-04-06 12:25:20
1508
原创 object-c 经典实用面试题+自己总结的答案(6)
26.copy 关键字。平时我们使用对象之间的传值都是采用retain count +1的方式,这种方式的适用于当对象的某属性的值改变时,引用该对象的不同指针会同时改变,因为这两个指针指向的是同一个内存地址,但如果需求是,当一个指针执行的对象属性值发生改变时,不影响另一个对象,那么需要分配两个不同的内存地址,也就是说,我们就不可以采用retain关键字了,而是要采用copy关键字,因为copy关键字会在复制时重新创建一个新的对象。各种属性定义关键字strong :除NSString\block以
2022-04-05 17:20:21
2103
原创 object-c 经典实用面试题+自己总结的答案(5)
21. 谈谈 iOS 的内存管理iOS 的内存管理(OC)是基于引用计数的,在程序中,每一个对象都有一个与之相关联的整数,我们可以称之为引用计数器或者是保留计数器(retain counting),当我们需要使用一个对象的时候,需要将该对象的引用计数加 1, 当我们结束对一个对象的访问时,我们需要将引用计数减 1。当对象的引用计数减少为 0 的时候,系统会自动释放该对象所占用的内存,以便内存的复用。当然,想要很好地在程序中利用引用计数管理好内存是需要一定的技巧的,这里,列出三条内存管理的规则,说是规则,不
2022-04-05 17:18:19
252
原创 object-c 经典实用面试题+自己总结的答案(4)
16. 在 ARC 下 不显示制定属性关键字,默认有哪些关键字。atomic,readwrite,strong(对象),assign(基本数据类型)。17. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?因为编译后类的相关的信息已经注册在 runtime 之中了,类在运行的过程中维护类的数据结构所占的内存的大小已经确定了,此时,不可能向类中再添加具体的实例变量了;在运行时创建的类不一样,在没有调用相应的函数(objc_registerClassPair )之前,是可
2022-04-05 17:17:16
1820
原创 object-c 经典实用面试题+自己总结的答案(3)
11. 参数传入 NSError **12. NSObject 有没有父类。他的 super class 指向哪。isa 指向那。*NSObject没有父类,他的super class 指向nil.isa指针指向自己.OC中每个类中都包含一个isa变量,显然这里的isa是指向另一个类的指针,说白了就是表明这个类是哪个类的实例,以便找到代码中调用的本类或父类的类方法。对于NSObject及其子类,指向的就是它的元类,正如实例中也有个isa指针指向其所属的类一样。而对于元类,每个元类的isa都指向根元类。
2022-04-05 17:16:00
2892
原创 object-c 经典实用面试题+自己总结的答案(2)
6. key 和 keypath 的区别在iOS开发中经常碰到重载方法有传key和keypath两种,但是一直搞不清楚他们两的区别,最近研究了一下官网KVC编程对key和keypath的区别有了具体的认识:例如:KVC编程时setValue(value: AnyObject?, key: String)和setValue(value: AnyObject?, keypath: String)key:只能接受当前类所具有的属性,不管是自己的,还是从父类继承过来的,如view.setValue(CGRe
2022-04-05 17:14:51
180
原创 iOS开发OC开发Object-C 开发实用随笔
1. 设置button文字左面 图片右面- (void) setEdgeSet:(UIButton *)btn{ CGFloat labelWidth = [btn.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:btn.titleLabel.font}].width; ; [btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -12, 0, 12)]; [btn setIm
2022-04-04 21:05:55
451
原创 Mac Xcode开发SDK,合并真机和模拟器的SDK,上传SDK到 cocoaPods
封装SDK自动打包合并真机和模拟器# 注意 合并后需要手动把真机的module模块内容复制到新sdk中#!/bin/sh#要build的target名TARGET_NAME=${PROJECT_NAME}if [[ $1 ]]thenTARGET_NAME=$1fiUNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}/"#创建输出目录,并删除之前的framework文件mkdir -p "${UNIVERSAL_OUTPUT_FOL
2022-04-04 21:02:08
434
原创 Mac 在本地搭建SVN服务器
svn 本地服务器搭建1. 查看我们电脑是否安装了svnservesvnserve --version 2. 创建仓库2.1 新建一个目录sudo mkdir -p data/svn/repositories/local这个/data/svn/repositories/local目录将用来作为我们的仓库。2.2 创建仓库sudo svnadmin create data/svn/repositories/local2.3 配置svnservercd data/s
2022-04-04 20:55:44
940
原创 Mac 安装repo与使用介绍
repo 安装Windows 安装1. 安装Python3,过程中一定要勾选将Python加入到Windows环境变量中;2. 使用git clone,将https://mirrors.tuna.tsinghua.edu.cn/git/git-repo克隆至本地任意目录;3. 从2中克隆完成的git-repo目录,找到repo文件4. 将3中的repo添加到Windows的环境变量中5. 打开3中的repo,找到REPO_URL,将“=”号后面的地址替换为https://mirrors.tuna
2022-04-03 22:08:42
7115
1
原创 Swift 开发实用功能随笔
1. swift print log 只在debug模式下打印- 创建DebugLogTool类class DebugLogTool: NSObject { static func debugLog(_ item: Any) { #if DEBUG print(item) #else #endif }}- 修改Setting Other Swift FlagsDebug : -D DEBUG
2022-04-03 22:05:52
580
原创 Mac安装MongoDB
从 MongoDB 3.0 版本开始只支持 OS X 10.7 (Lion) 版本及更新版本的系统。接下来我们使用 curl 命令来下载安装:进入 /usr/localcd /usr/local下载sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz解压sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz重命名为 mongodb 目录sudo.
2022-04-03 22:04:45
775
原创 Mac 终端操作mysql
1.启动mysql.server start// 配置权限,密码mysql_secure_installation// 连接数据库mysql -u root -p// 创建数据库create database movies_db character set utf8mb4;// 创建用户create user 'movie_u'@'%' identified by 'movie_PWD_123';grant all privileges on retail_db.* to 'movie_
2022-04-03 22:02:23
1358
原创 解决微信小程序要求的TLS版本必须大于等于1.2问题
request请求提示net::ERR_SSL_PROTOCOL_ERROR1、在服务器中新建文本文档,复制粘贴下面代码:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Se
2022-04-03 21:59:20
937
原创 Mac从头教你怎么搭建本机Tomcat服务器
1.安装mysql1.切换到用户目录cd ~2.下载 rpm 包在官网找到对应的 MySQL 的源,我们选择 mysql80-community-release-el7-1.noarch.rpm 社区免费正式发布版8.0wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm3.安装 rpm 包rpm -ivh mysql80-community-release-el7-1.noarch.rpm4.
2022-04-03 21:57:43
1422
原创 Python 学习随笔以及爬虫基本入门,设置随机UA等
正则1. ^ 表示起始点2. $ 表示结尾3. {} 表示内容重复几次,用逗号隔开.?取非贪婪.4. ^ 取非5. () 表示一组正则方法1. re.findall()2. re.sub()实用样例 # 匹配每条段子里无用字符部分,并替换为空: # \s 表示空白符,如果空格、换行符等 # &.*?; 表示 HTML实体字符,如 等 # <.*?> 表示 标签,如 <p> 、 <\br> 等 # 或者 u"
2022-04-03 21:55:14
514
原创 Mac 安装Python3,并修改默认Python版本
1.安装Python 32.查看Python3 安装路径 打开终端,输入which python3,查看路径 /Library/Frameworks/Python.framework/Versions/3.7/bin/python33.打开配置文件 open ~/.bash_profile4.写入外部环境变量export PATH=${PATH}:/Library/Frameworks/Python.framework/Versions/3.7/bin/python35.重命名Pyth
2022-04-03 21:53:26
2209
原创 Mac CORE keygen 提示 您没有权限打开应用程序解决方法
1.首先安装Homebrew直接在终端里执行下面的命令,选择下载节点,在安装过程中会提示安装 GIt,根据提示安装即可(git安装完后重新运行脚本)如果提示输入密码,直接输入电脑的密码确认即可(在终端下输入密码不会显示,直接键盘回车即可)国内代码/bin/zsh -c "$(curl -fsSL https://gitee.com/macxin/HomebrewCN/raw/master/Homebrew.sh)"国外代码/bin/zsh -c "$(curl -fsSL https://raw.
2022-04-03 21:48:29
2594
原创 Mac使用gerrit简介
gerrit服务器macOS使用步骤:先在gerrit后台http://10.10.142.120:9000/gerrit/#/dashboard/self,添加自己的ssh密钥git clonehttp://10.10.142.120:8083/gerrit/ReachCockpit/Honda23M/AppStore首次提交步骤:1. gitdir=$(git rev-parse --git-dir)2. scp -p -P 29418 wchao@10.10.142.120:hooks/c
2022-04-03 12:39:16
714
原创 Mac安装adb和安卓adb命令使用介绍
0.配置adbvim ~/.zshrc-> vim ~/.bash_profileexport PATH=${PATH}:/Users/army/Library/Android/sdk/platform-toolsexport PATH=${PATH}:/Users/army/Library/Android/sdk/toolssource ~/.zshrc-> source ~/.bash_profile1.启动系统设置adb shell am start com.an
2022-04-02 21:35:56
1481
原创 Mac设置路由实现同时连接有线内网和无线外网时自动切换内网和外网
实现电脑同时连接有线网和无线网时,自动的使用公司有线网上内网,使用无线网上外网。1. 使用无线网上外网配置说明- 先设置要上外网的网卡优先级高.- 0.0.0.0 为默认地址,不指定则为所有请求地址- sudo route -n add 目标域名 想使用的网关.sudo route -n delete 0.0.0.0sudo route -n add 0.0.0.0 172.20.10.1sudo route -n add 10.170.133.217 10.170.245.1 // .
2022-04-02 21:27:38
3814
原创 Mac SOME/IP编译以及Ubuntu的SOME/IP集成与编译
vsomeip是BMW实现的开源someip库,目前主要实现了someip的通信和服务发现功能,并在此基础上增加了少许的安全机制。本文主要从vsomeip的环境搭建,编译,以及对应helloworld程序分析开始,目的在于分析整套vsomeip库的运行机制。1. Ubuntu编译1. 代码拉取vsomeip相关代码可以直接从github上获取。https://github.com/GENIVI/vsomeip.git2. 编译2.1. 安装依赖由于我的ubuntu版本是20..
2022-04-02 16:23:38
1378
3
原创 mac编译protobuf的踩坑记录
问题总结编译protobuf过程中,mac电脑上头文件找不到,原因为头文件安装在usr/local/include中,但是编译从xcode的引入头文件目录编译的,所以找不到头文件。需要把头文件复制到xcode的头文件目录中1. 静态库根据系统编译1.1 查看静态库版本lipo -info 要检验的库路径1.2 查看系统版本uname -a2. 更新 xcode组件xcode-select --install 非必须3。 查看include目录$ echo | gcc -v -x c++
2022-04-02 16:09:03
595
原创 c++ 实用面试题+自己写的答案
## 提升题 - 算法### 4. 字符串反转### 5. 链表反转### 6. 有序数组合并### 7. Hash算法,查找字符串中第一个只出现一次的字符### 8. 求无序数组当中的中位数### 9. 快速排序### 10. 冒泡排序### 11. 选择排序### 12. 二分法查找(不用递归)### 13. 二分法查找(使用递归)
2022-04-02 16:04:51
1269
1
原创 [解决问题]Mac m1 SSH连不上Ubuntu虚拟机解决办法
[解决问题]SSH连不上Ubuntu虚拟机解决办法。## 1. 安装openssh-client ```Ubuntu默认缺省安装了openssh-client,apt-get安装即可 sudo apt-get install openssh-client```
2022-04-02 16:01:48
1001
原创 object-c 经典实用面试题+自己总结的答案(1)
1. 如看看待 OC 是一门动态语言。(转载)OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装、继承、多态。他具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。整体来说,确实是一门不错的编程语言。 现在,让我来想想OC的动态语言特性。OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载。之所以叫做动态,是因为必须到运行时(run time)才会做
2022-04-02 14:15:35
1046
原创 C++进制转换如16进制string转uint16_t
C++进制转换,16进制string转uint16_t,string 转 unint_8,string 转 char *,16进制string转uint8_t
2022-04-02 14:06:24
4241
原创 从零开始学习swift语言(Objective-C转学swift)-( 一 )简介学习背景及开发工具
简介学习背景 本人之前使用Objective-C做了三年左右的iOS开发,之前一直想学习swift语言可惜公司项目比较紧一直没有时间.现在每天倒是可以抽时间来学习swift,之后我会在这里记录下来我的学习历程,并且会列举出swift语言和Objective-C语言的差异,如果可以的话会尽量写代码来举例说明.开发工具 Mac电脑 及 Xcode软件 相信之前接触过io
2017-02-27 17:55:31
716
c++集成js引擎jerryscript代码Demo
2022-04-02
c++使用websocket代码Demo.可直接编译
2022-04-02
Mac支持M1 max的自定义显示和隐藏状态栏图标小插件
2022-04-02
Mac m1安装ps Photoshop ps和AI的插件.可以愉快使用.
2022-04-02
Mac m1 parallelsdesktop 虚拟机辅助工具.PD Runner
2022-04-02
Mac VMwareTools官方工具,支持Mac与虚拟机共享复制
2022-04-02
JSON-handle谷歌插件,Mac m1 也可使用
2022-04-02
计算Linux/Ubuntu/任意计算机算力的一套C++源码
2022-04-02
追书神器2.24安卓可换源版本
2018-10-16
React-Developer-Tools 官方最新版本3.2.1 Chrome插件
2018-04-10
追书神器,可以换源版本
2017-07-07
scrollview上button菜单点击最边上的button才滚动
2017-06-14
苹果最新Assistive Touch SDK
2016-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人