Используйте длину, чтобы получить длину объекта и -, чтобы удалить последний.
v[-length(v)]
Отрицательный индекс в R извлекает все , но данные индексы.
Управляемый C ++ работает так же, как C #, в отношении типов в различных сборках. Это означает, что вам нужно объявить свой класс Lib
как public
:
public ref class Lib
И вы не должны включать Lib.h
в свой LibTest
проект. Когда вы добавляете ссылку на проект Lib
, компилятор сможет разрешить любые найденные там символы.
Ваш текущий код включает Lib.h
,
If you're using managed extensions, setting the reference correctly should be all you need.
If you're using standard C++ functions, you probably need to define your functions using __declspec(dllexport)
and __declspec(dllimport)
. See MSDN for details.
__declspec(dllexport)
is what adds specific functions into the export library, and __declspec(dllimport)
tells the importing library (LibTest) that it needs to import those symbols from the DLL.
Вот последняя модификация, предложенная Бояном. Спасибо, Боян!
Примечание: не забудьте добавить «Lib» в справочник «LibTest»!
Lib Project (скомпилирован как проект .dll)
// Lib.h
#pragma once
public ref class Lib
{
public:
Lib(void);
};
// Lib .cpp
#include "Lib.h"
Lib::Lib(void)
{
}
Проект LibTest (скомпилирован как application.exe)
// LibTest.h
#pragma once
ref class LibTest
{
public:
LibTest(void);
};
// LibTest.cpp
#include "LibTest.h"
LibTest::LibTest(void)
{
Lib^ lib = gcnew Lib;
}
int main()
{
return 0;
}