add smartpointer demo for debug
This commit is contained in:
@ -37,7 +37,7 @@ void print_startup_message() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
Logger::set_level(Logger::DEBUG);
|
Logger::set_level(Logger::TRACE);
|
||||||
Logger::disable_kout();
|
Logger::disable_kout();
|
||||||
Logger::enable_serial();
|
Logger::enable_serial();
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
#include "user/demo/LinkedListDemo.h"
|
#include "user/demo/LinkedListDemo.h"
|
||||||
#include "user/demo/PCSPKdemo.h"
|
#include "user/demo/PCSPKdemo.h"
|
||||||
#include "user/demo/PreemptiveThreadDemo.h"
|
#include "user/demo/PreemptiveThreadDemo.h"
|
||||||
|
#include "user/demo/SmartPointerDemo.h"
|
||||||
#include "user/demo/TextDemo.h"
|
#include "user/demo/TextDemo.h"
|
||||||
#include "user/demo/VBEdemo.h"
|
#include "user/demo/VBEdemo.h"
|
||||||
|
|
||||||
@ -68,6 +69,9 @@ void MainMenu::run() {
|
|||||||
case 'e':
|
case 'e':
|
||||||
choosen_demo = new ArrayDemo();
|
choosen_demo = new ArrayDemo();
|
||||||
break;
|
break;
|
||||||
|
case 'r':
|
||||||
|
choosen_demo = new SmartPointerDemo();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (choosen_demo != NULL) {
|
if (choosen_demo != NULL) {
|
||||||
|
|||||||
14
c_os/user/demo/SmartPointerDemo.cc
Normal file
14
c_os/user/demo/SmartPointerDemo.cc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "user/demo/SmartPointerDemo.h"
|
||||||
|
#include "kernel/threads/IdleThread.h"
|
||||||
|
|
||||||
|
void SmartPointerDemo::run() {
|
||||||
|
log << INFO << "Initializing unique_ptr<int>:" << endl;
|
||||||
|
std::unique_ptr<int> int1 = std::make_unique<int>(1);
|
||||||
|
log << INFO << "Uninitialize..." << endl;
|
||||||
|
|
||||||
|
log << INFO << "Initializing unique_ptr<Thread>:" << endl;
|
||||||
|
std::unique_ptr<Thread> thread1 = std::make_unique<IdleThread>();
|
||||||
|
log << INFO << "Should be unitialized now..." << endl;
|
||||||
|
|
||||||
|
scheduler.exit();
|
||||||
|
}
|
||||||
19
c_os/user/demo/SmartPointerDemo.h
Normal file
19
c_os/user/demo/SmartPointerDemo.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef __SmartPointerDemo_include__
|
||||||
|
#define __SmartPointerDemo_include__
|
||||||
|
|
||||||
|
#include "kernel/Globals.h"
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
class SmartPointerDemo : public Thread {
|
||||||
|
private:
|
||||||
|
SmartPointerDemo(const SmartPointerDemo& copy) = delete;
|
||||||
|
|
||||||
|
public:
|
||||||
|
SmartPointerDemo() {
|
||||||
|
kout << "Initialized SmartPointerDemo" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void run() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user