1. C语言调用的mysqlAPI中mysql_real_query()一直执行失败
解决方法:检查代码的时候发现在fork()之前调用了mysql_init(),这导致在分成多进程之后,mysql的connection被争用,出现了多个进程争抢临界资源的现象,导致sql无法正常执行,报出的错误码也在用户手册中查不到。后来把mysql_ini()放到对应的单个进程中,程序运行正常。
3. mysql中将查询结果导出为csv格式的方法:
select content from table_name into
outfile 'secure_file_priv/file_name'
fields terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\r\n';
4. mysql导出文件时报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
5. ARM汇编语言中“!”的作用:
6. ARM指令集中:
STR:字数据存储;LDR:字数据加载
7. X86指令集中:
movzwl:零扩展、由2字节move到4字节
8. 交叉编译时报错:Value too large for defined data type
源代码本身没问题,跟挂载属性有关。由于是用虚拟机运行的ubuntu,我在系统下面挂载了一个windows的文件夹,在其中编译源代码就会报如上的fatal error。但如果把它移动到ubuntu的文件系统中去,则编译通过。
解决方法:检查代码的时候发现在fork()之前调用了mysql_init(),这导致在分成多进程之后,mysql的connection被争用,出现了多个进程争抢临界资源的现象,导致sql无法正常执行,报出的错误码也在用户手册中查不到。后来把mysql_ini()放到对应的单个进程中,程序运行正常。
2. 当一个进程的全局变量被声明为static之后,在.data段(已初始化)或者.bss段(未初始化)内,它只能在定义它的源文件内有效,其他源文件无法访问它。
比如我在“a.h”中声明了一个static变量,在“main.c”中对其进行了初始化,则该初始化的值只在“main.c”中有效,在其他源文件中无效。
3. mysql中将查询结果导出为csv格式的方法:
select content from table_name into
outfile 'secure_file_priv/file_name'
fields terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\r\n';
4. mysql导出文件时报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
解决方法:在mysql中使用“show variables like '%secure%';”查看secure_file_priv路径,然后在导出语句中把导出路径修改为该目录即可。
※注:查看secure_file_priv的方法:show global variables like '%secure%'
5. ARM汇编语言中“!”的作用:
·指令:LDR r0, [r1, #100]
含义:将r1+100中的值读入r0
·指令:LDR r0, [r1, #100]!
含义:将r1+100中的值读入r0,并把r1+100写入r16. ARM指令集中:
STR:字数据存储;LDR:字数据加载
7. X86指令集中:
movzwl:零扩展、由2字节move到4字节
8. 交叉编译时报错:Value too large for defined data type
源代码本身没问题,跟挂载属性有关。由于是用虚拟机运行的ubuntu,我在系统下面挂载了一个windows的文件夹,在其中编译源代码就会报如上的fatal error。但如果把它移动到ubuntu的文件系统中去,则编译通过。