add smartpointer demo for debug
This commit is contained in:
@ -37,7 +37,7 @@ void print_startup_message() {
|
||||
}
|
||||
|
||||
int main() {
|
||||
Logger::set_level(Logger::DEBUG);
|
||||
Logger::set_level(Logger::TRACE);
|
||||
Logger::disable_kout();
|
||||
Logger::enable_serial();
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "user/demo/LinkedListDemo.h"
|
||||
#include "user/demo/PCSPKdemo.h"
|
||||
#include "user/demo/PreemptiveThreadDemo.h"
|
||||
#include "user/demo/SmartPointerDemo.h"
|
||||
#include "user/demo/TextDemo.h"
|
||||
#include "user/demo/VBEdemo.h"
|
||||
|
||||
@ -68,6 +69,9 @@ void MainMenu::run() {
|
||||
case 'e':
|
||||
choosen_demo = new ArrayDemo();
|
||||
break;
|
||||
case 'r':
|
||||
choosen_demo = new SmartPointerDemo();
|
||||
break;
|
||||
}
|
||||
|
||||
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