本文整理汇总了C++中MemoryPool::free方法的典型用法代码示例。如果您正苦于以下问题:C++ MemoryPool::free方法的具体用法?C++ MemoryPool::free怎么用?C++ MemoryPool::free使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MemoryPool
的用法示例。
在下文中一共展示了MemoryPool::free方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main (void) {
GREENTEA_SETUP(20, "default_auto");
Thread thread(send_thread, NULL, osPriorityNormal, STACK_SIZE);
bool result = true;
int result_counter = 0;
while (true) {
osEvent evt = queue.get();
if (evt.status == osEventMessage) {
message_t *message = (message_t*)evt.value.p;
const float expected_voltage = CREATE_VOLTAGE(message->counter);
const float expected_current = CREATE_CURRENT(message->counter);
// Check using macros if received values correspond to values sent via queue
bool expected_values = (expected_voltage == message->voltage) &&
(expected_current == message->current);
result = result && expected_values;
const char *result_msg = expected_values ? "OK" : "FAIL";
printf("%3d %.2fV %.2fA ... [%s]\r\n", message->counter,
message->voltage,
message->current,
result_msg);
mpool.free(message);
if (result == false || ++result_counter == QUEUE_SIZE) {
break;
}
}
}
GREENTEA_TESTSUITE_RESULT(result);
return 0;
}
示例2: main
int main (void) {
Thread thread(send_thread);
bool result = true;
int result_counter = 0;
while (true) {
osEvent evt = queue.get();
if (evt.status == osEventMessage) {
message_t *message = (message_t*)evt.value.p;
const float expected_voltage = CREATE_VOLTAGE(message->counter);
const float expected_current = CREATE_CURRENT(message->counter);
// Check using macros if received values correspond to values sent via queue
bool expected_values = (expected_voltage == message->voltage) &&
(expected_current == message->current);
result = result && expected_values;
const char *result_msg = expected_values ? "OK" : "FAIL";
printf("%3d %.2fV %.2fA ... [%s]\r\n", message->counter,
message->voltage,
message->current,
result_msg);
mpool.free(message);
if (result == false || ++result_counter == QUEUE_SIZE) {
break;
}
}
}
notify_completion(result);
return 0;
}
示例3: test_MemoryPool
static int test_MemoryPool (){
cout << "Go Testing" << __FILE__ << endl;
MemoryPool pool;
auto ptr1 = pool.alloc (5);
auto ptr2 = pool.alloc (10);
auto ptr3 = pool.alloc (11);
pool.dump ();
pool.free (ptr1);
pool.free (ptr2);
pool.dump ();
int* ptr4 = (int*)ptr3;
// ptr4++; // error !!
pool.free ( (void*&)ptr4 );
// clear
cout << "clear" << endl;
pool.dump ();
pool.clear ();
pool.dump ();
cout << "clear done." << endl;
// for c++
A* a = pool.cnew<A>();
pool.dump ();
pool.cdelete<A>(a);
pool.dump ();
cout << "a=>" << a << endl;
return 0;
}