技术标签: x86的C
【前言】
X86的64位PC机上,一般使用eclipse+mingw的编辑和编译环境来实现无界面和有界面的开发工作,之前使用eclipse搭建环境需要用到dll库,而eclipse使用mingw编译环境对dll的支持不是很好,一直无法正常添加dll库到工程中去,所以摒弃了eclipse的编辑界面,直接使用Makefile+mingw64来编译链接,直接使用source insight来编辑代码,非常清爽。
【目的】
Makefile + Mingw64的环境,并调用dll动态库,来实现msys dos环境的c程序运行。
【方案】
自己实现Makefile文件,代码目录组织如下:
build存放.o文件,heads存放头文件,libs存放dll文件,src存放c源文件。
【实现】
Makefile的具体内容如下:
# flags
CC = gcc
#CFLAGS = -Wall
LFLAGS =
# args
RELEASE =0
BITS = 64
OBJ_DIR := build
INC_DIR := heads
SRC_DIR := src
LIB_DIR := libs
RUN_DIR := run
# [args] 生成模式. 0代表debug模式, 1代表release模式. make RELEASE=1.
ifeq ($(RELEASE),0)
# debug
CFLAGS += -g -I$(INC_DIR) -o0
else
# release
CFLAGS += -static -I(INC_DIR) -O3 -DNDEBUG
LFLAGS += -static
endif
# [args] 程序位数. 32代表32位程序, 64代表64位程序, 其他默认. make BITS=32.
ifeq ($(BITS),32)
CFLAGS += -m32
LFLAGS += -m32
else
ifeq ($(BITS),64)
CFLAGS += -m64
LFLAGS += -m64
else
endif
endif
.PHONY : all clean
# files
TARGETS := $(OBJ_DIR)\auto_test
OBJS = $(OBJ_DIR)/atest.o
OBJS += $(OBJ_DIR)/putil.o
OBJS += $(OBJ_DIR)/xml.o
OBJS += $(OBJ_DIR)/dlog.o
LIBS = $(LIB_DIR)/*.dll
all : $(TARGETS)
move /Y $(OBJ_DIR)\\*.exe $(RUN_DIR)
$(TARGETS) : $(OBJS) $(LIBS)
$(CC) $(LFLAGS) -o $@ $^
$(OBJ_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
clean :
del /F /S /Q $(OBJ_DIR)\*.*
gcc编译链,需要先安装好mingw64的交叉编译链和path的系统环境变量设置。dll直接作为目标文件来参与链接,且不需要使用-l来指定以来的系统库。直接make和make clean来方便编译。
Mac 命令行下查看当前 Wifi网络设备名称首先命令行输入networksetup -listallhardwareports在命令行中返回的结果中找Wi-Fi的设备名,通常是en0//...//omitted//...HardwarePort:Wi-Fi//找这个Device:en0 //这个就是设备名//...//omitted//...VLANConfigurations_mac 命令行 查看网络适配器
??? 数字:2 = to/too2B or not 2B = To be or not to be4 = for4ever = foreverA:A
引子:情形1 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = ...
介绍freeRTOS中信号量的用法_freerots任务同步 红绿灯
买的4B版 4G内存树莓派,包括主板、电源、外壳、散热片。自己外接鼠标、键盘、HDMI线(它这个是小头,最好买机器的时候直接附带买了)一、WIFI联网树莓派连接显示器直接连接树莓派网线连接电脑登录 vim /etc/wap_supplicant/wap_supplicant.confctrl_interface=DIR=/var/run/wap_supplicant GROUP=netdevupdate_config=1#country=GBnetwork={ ssid="WIF._work connection closed before response startworkconn message: eof
垮库连表代码 public $table='yts_account_shell_operate'; protected $guarded = [];//不可以注入数据字段 // 实现啊你垮库连表 public function getUserName(){ $instance = new zpMember(); // new 实例 ..._ims_ewei_shop_member
./configure --enable-libx264 --enable-encoder=libx264 --enable-decoder=h264 --enable-parser=h264 --enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-hwaccel=h264_mmal --enable-decoder=h26
今天检查代码的时候发现了一个内存泄漏的问题,导致Activity内存一直无法释放,后来发现是Activity内部的全局变量mValueAnimator无法释放而导致的。代码分析我们先看到代码,为了实现一个动画效果,我们在Activity内放置了一个ValueAnimator的全局变量,并且调用开启动画的方法。private ValueAnimator mValueAnimator;private ..._valueanimator 内存泄漏
哪有什么选择恐惧症,还不是因为穷;哪有什么优柔寡断,还不是因为怂 ;哪有什么岁月静好,还不是因为有人替你负重前行。_:ε=(′ο`*)))。
什么是索引失效:使用索引查询某行数据,但数据库扫描全表进行查询时 叫索引失效;索引失效的几种方式:1、where中存在 or2、类型为char,查询条件时用int3、模糊查询时,%开头的查询4、not in5、where索引列有运算6、where中索引列使用了函数为什么要用索引:提升查询性能 ,缩短查询时间场景:8千万数据的表中查询一行数据,没有索引查询耗时500s+,使用索引查询耗时0.03s..._sqlserver 分区命中不了索引
android在嵌套滑动的时候会产生滑动冲突。之前我也碰到,但是以前的笔记本丢失了,所以只能重新再写一章。一.会产生滑动冲突的情况那么什么时候会产生滑动冲突呢?比如你有个activity,activity的上半部分是一个布局,下半部分是一个可滑动控件(RecyclerView、ListView等),或者下..._android 嵌套滑动冲突解决
由于公司自主研发APP,使用的是MUI框架。我做了其中头像图片上传的功能,在此分享下demo;如有不规范处,请多多指教,互相学习。第一次接触这个框架,踩了许多的坑 >_<步骤:点击选择图片 → 图片转BASE64发送到服务器 → 服务器解码写入流中,返回地址1.选择图片2.后台服务器解码3.上传完成D:\ tu..._mui 图片上传