按照emscripten wiki上的说明操作后,我设法编译了一个小型C库.这导致了一个a.out.js文件.
我假设要使用这个库中的函数(在node.js中)这样的东西会起作用:
var lib = require("./a.out.js");
lib.myFunction('test');
Run Code Online (Sandbox Code Playgroud)
然而,这失败了.任何人都可以帮助或指出一些与此相关的基本教程吗?
我正在使用MEAN堆栈编写Web应用程序.我通过npm安装了multer,如下所示:
sudo npm install -g multer
Run Code Online (Sandbox Code Playgroud)
我在我的一个路线文件中要求它:
var multer = require("multer");
Run Code Online (Sandbox Code Playgroud)
我正在使用nodemon
并且每次重新启动时都会抛出以下错误,因为我添加了require语句.
28 Feb 18:39:13 - [nodemon] restarting due to changes...
28 Feb 18:39:13 - [nodemon] starting `node ./bin/www`
module.js:338
throw err;
^
Error: Cannot find module 'multer'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/jason/Desktop/Node/todoApp/routes/todos.js:8:14)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
28 Feb 18:39:13 - [nodemon] app crashed - waiting for …
Run Code Online (Sandbox Code Playgroud) 说我有这个库:
// lib.h
typedef struct MyStruct {
int a;
int b;
} MyStruct;
int func(void);
Run Code Online (Sandbox Code Playgroud)
这些函数都不使用MyStruct作为参数.是否可以在MyStruct
不破坏ABI的情况下移除?
指针的工作
// swap.h
swap(int, int);
// swap.c
swap(int *i, int *j)
{
int k;
k=*i;
*i=*j;
*j=k;
}
// Practice.c
#include <stdio.h>
#include "swap.h"
main()
{
int i,j;
printf("\nEnter I = ");
scanf("%d",&i);
printf("\nEnter J = ");
scanf("%d",&j);
swap(&i, &j);
printf("\n I = %d",i);
printf("\n J = %d",j);
}
Run Code Online (Sandbox Code Playgroud)
当我在一个文件中编写此程序时,程序已正确执行.现在我将它分成两部分,Practice.c
它具有main()
功能并且swap.c
包含该swap(int *i, int *j)
功能,但它并没有那么顺利.以下是我用于执行程序的以下过程.
gcc -c swap.c
gcc Practice.c swap.o -oPractice
Run Code Online (Sandbox Code Playgroud)
一旦我尝试执行第二个语句,它就不会编译并产生错误.
我使用完全相同的过程来执行另一个程序,该程序有3个文件,
它没有指针.
请告诉我我在哪里弄错了.