我知道在源文件中声明静态函数时的含义.我正在阅读一些代码,发现头文件中的静态函数可以在其他文件中调用.
selenium-webdriver使用NodeJS+ Selenium+Mocha安装的理想位置是什么(在Windows上)
我刚开始用Selenium探索NodeJS.继续我将使用NodeJS + Selenium + Mocha
已安装node.js:
C:\Users\AtechM_03>node -v
v6.11.2
Run Code Online (Sandbox Code Playgroud)已安装npm:
C:\Users\AtechM_03>npm -v
3.10.10
Run Code Online (Sandbox Code Playgroud)nodeclipse根据http://www.nodeclipse.org/updates/我和我的项目结构配置如下:
现在,我不确定要安装的确切位置 selenium-webdriver
selenium-webdriver根据(http://www.nodeclipse.org/updates/)安装在默认位置(通过命令行)
C:\Users\AtechM_03>npm install selenium-webdriver
C:\Users\AtechM_03
`-- selenium-webdriver@3.5.0
+-- jszip@3.1.3
| +-- core-js@2.3.0
| +-- es6-promise@3.0.2
| +-- lie@3.1.1
| | `-- immediate@3.0.6
| +-- pako@1.0.5
| `-- readable-stream@2.0.6
| +-- core-util-is@1.0.2
| +-- inherits@2.0.3
| +-- isarray@1.0.0
| +-- process-nextick-args@1.0.7
| +-- string_decoder@0.10.31
| `-- util-deprecate@1.0.2 …Run Code Online (Sandbox Code Playgroud)所以我有这个代码,在一个函数中进行分配,并在调用函数中进行解除分配.在尝试通过ptr或*ptr释放内存时获取分段错误或中止消息.请看看:
#include <stdio.h>
int main()
{
char *ptr;
fun(&ptr);
printf("ptr = %p\n",ptr);
printf("&ptr = %p\n",&ptr);
printf("String ptr = %s\n",ptr);
free (ptr);
return 0;
}
void fun(char **str)
{
*str = malloc(10);
*str = "HELLO";
printf("str = %p\n",str);
printf("&str = %p\n",&str);
printf("String str = %s\n",*str);
}
Run Code Online (Sandbox Code Playgroud)
以下是输出:
str = 0x7ffe63247858
&str = 0x7ffe63247838
String str = HELLO
ptr = 0x400764
&ptr = 0x7ffe63247858
String ptr = HELLO
*** Error in `/home/a.out': munmap_chunk(): invalid pointer: 0x0000000000400764 ***
Aborted
Run Code Online (Sandbox Code Playgroud)
题 :
为什么我们不能免费ptr?如果可以的话,最好的方法是什么?